微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

.NET webservice 常见问题

   一、.NET webservice 部署IIS 外网访问无法调用

    今天做了一个webservice部署在服务器上之后,别人的机子访问接口只能得到接口解析信息,无法调用接口,网上查了一下,好像需要在webconfig中配置一下信息。

  1. <webServices>  
  2.         <protocols>  
  3.           <add   name="HttpSoap"/>  
  4.           <add   name="HttpPost"/>  
  5.           <add   name="HttpGet"/>  
  6.           <add   name="Documentation"/>  
  7.         </protocols>  
  8.       </webServices>   

 二、WebService应用中如果收到的信息非常大时出错

         WebService出错 Maximum message size quota for incoming messages (65536) has been exceeded.已超过传入消息(65536)的最大消息大小配额,

 1:Maximum message size quota for incoming messages (65536) has been exceeded.已超过传入消息(65536)的最大消息大小配额。若要增加配额,请使用相应绑定元素上的 MaxReceivedMessageSize 属性。  
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。   
异常详细信息: System.ServiceModel.QuotaExceededException: 已超过传入消息(65536)的最大消息大小配额。若要增加配额,请使用相应绑定元素上的 MaxReceivedMessageSize 属性。  
解决办法:  
修改Web.Config文件,其中的MaxReceivedMessageSize  可以改大一点,改成2147483647好了。  
maxBufferSize="2147483647" maxBufferPoolSize="524288" maxReceivedMessageSize="2147483647"  
   
2:读取 XML 数据时,超出最大字符串内容长度配额 (8192)。通过更改在创建 XML 读取器时所使用的 XmlDictionaryReaderQuotas 对象的 MaxStringContentLength 属性,可增加此配额。 第 211 行,位置为 394。  
解决办法:  
也是修改Web.Config中的MaxStringContentLength ,这是有些数据比较长的时候出现这个问题,改大一点就可以了吧。  
<readerQuotas maxDepth="64" maxStringContentLength="8192000" maxArrayLength="16384000"  
            maxBytesPerRead="4096000" maxNaMetableCharCount="16384000" />  
   
下面是完整的代码:  
<system.serviceModel>  
    <bindings>  
      <basicHttpBinding>  
        <binding name="FileServiceSoapBinding" closeTimeout="00:01:00"  
          openTimeout="00:01:00" receiveTimeout="00:10:00" sendTimeout="00:01:00"  
          allowCookies="false" bypassproxyOnLocal="false" hostNameComparisonMode="StrongWildcard"  
          maxBufferSize="2147483647" maxBufferPoolSize="524288" maxReceivedMessageSize="2147483647"  
          messageEncoding="Text" textEncoding="utf-8" transferMode="Buffered"  
          useDefaultWebProxy="true">  
          <readerQuotas maxDepth="64" maxStringContentLength="8192000" maxArrayLength="16384000"  
            maxBytesPerRead="4096000" maxNaMetableCharCount="16384000" />  
          <security mode="None">  
            <transport clientCredentialType="None" proxyCredentialType="None"  
              realm="" />  
            <message clientCredentialType="UserName" algorithmSuite="Default" />  
          </security>  
        </binding>  
        <binding name="FileServiceSoapBinding1" closeTimeout="00:01:00"  
          openTimeout="00:01:00" receiveTimeout="00:10:00" sendTimeout="00:01:00"  
          allowCookies="false" bypassproxyOnLocal="false" hostNameComparisonMode="StrongWildcard"  
          maxBufferSize="2147483647" maxBufferPoolSize="524288" maxReceivedMessageSize="2147483647"  
          messageEncoding="Text" textEncoding="utf-8" transferMode="Buffered"  
          useDefaultWebProxy="true">  
          <readerQuotas maxDepth="64" maxStringContentLength="8192000" maxArrayLength="16384000"  
            maxBytesPerRead="4096000" maxNaMetableCharCount="16384000" />  
          <security mode="None">  
            <transport clientCredentialType="None" proxyCredentialType="None"  
              realm="" />  
            <message clientCredentialType="UserName" algorithmSuite="Default" />  
          </security>  
        </binding>  
      </basicHttpBinding>  
    </bindings>  

转自:http://blog.csdn.net/susubuhui/article/details/6524158

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐