zoukankan      html  css  js  c++  java
  • HTTP 417解决方案

      在一次模拟HTPP请求时,本人在项目中的一般处理程序中调用客户接口返回非成功的结果。为了方便调试,所以将核心代码拷贝至控制台中进逐个调试。

    在控制台中,启动调试时提示:

      未经处理的异常:  System.Net.WebException: 远程服务器返回错误: (417) Expectation
    failed。

      由于代码与在一般处理程序中的一致,并无区别。后来由于之前在一次处理中文乱码的经验中,在其他环境下面调试发现并无乱码,经人提醒将Web.config拷贝至新的测试环境下则发现了乱码并进行调试解决。有了该经历,我在怀疑是否因为配置文件的原因导致的。并将Web.config中的所有配置拷贝至app.config中。启动后毅然发现错误消除了,后经逐步删除各个节点启动发现在<system.net>节点中某个节点配置导致。

      配置节点如下:

    1 <system.net>
    2     <settings>
    3       <servicePointManager expect100Continue="false"/>
    4     </settings>
    5   </system.net>
    View Code

      后经继续搜索找到在发起HTTP请求时在代码前设置如下也可解决HTTP 417

    // 摘要:
    //获取或设置一个 System.Boolean 值,该值确定是否使用 100-Continue 行为。
    //
    // 返回结果:
    //若要启用 100-Continue 行为,则为 true。默认值为 true。
    System.Net.ServicePointManager.Expect100Continue = false;

     解决原理应该是设置100-Continue 行为 false,一个是通过配置文件设置,一个是通过代码实时设置,异曲同工。

  • 相关阅读:
    dsoframer设计笔记
    pb 使用ole控制进行WORD操作失败-9
    【学习笔记】Fragment
    Suggest:the suffix for classes name
    ArrayList和LinkedList
    Android Studio入门
    asp.net ToString() 输出格式详细
    Uploadify 3.2 参数属性、事件、方法函数详解
    基础解析正则表达式
    10个优秀的 Web UI库/框架
  • 原文地址:https://www.cnblogs.com/YangChengHu/p/3529964.html
Copyright © 2011-2022 走看看