一大波问题解决和配置备份 WCF快炼成精了

63 篇文章 0 订阅
34 篇文章 0 订阅

1. 首先我的Service工程配置,target一定要也设成x64

2. 其次

因为WCF出现了“格式化程序尝试对消息反序列化时引发异常”(需要加<readerQuotas...),"超过最大配额,使用maxReceivedMessageSize...","超时",的问题,改了最大的接收与发送的配置.最后这么配置成功了。

服务端:

<system.serviceModel>
    <bindings>
      <wsHttpBinding>
        <binding maxBufferPoolSize="2147483647"
                    maxReceivedMessageSize="2147483647">
          <readerQuotas maxDepth="2147483647"
                    maxStringContentLength="2147483647"
                    maxArrayLength="2147483647"
                    maxBytesPerRead="2147483647"
                    maxNameTableCharCount="2147483647"/>
          <security mode="Message">
          </security>
        </binding>
      </wsHttpBinding>
    </bindings>
    <services>
      <service behaviorConfiguration="DeepIEHostBehavior" name="DeepIEHostEnTextSegmentation.TextSegmentationService">
        <endpoint address="" binding="wsHttpBinding" contract="DeepIEHostEnTextSegmentation.ITextSegmentationService">
          <identity>
            <dns value="localhost" />
          </identity>
        </endpoint>
        <endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange" />
        <host>
          <baseAddresses>
            <add baseAddress="http://localhost:9806/DeepIE/service" />
          </baseAddresses>
        </host>
      </service>
    </services>
    <behaviors>
      <serviceBehaviors>
        <behavior name="DeepIEHostBehavior">
          <serviceMetadata httpGetEnabled="True" />
          <serviceDebug includeExceptionDetailInFaults="True" />
        </behavior>
      </serviceBehaviors>
    </behaviors>
  </system.serviceModel>

客户端:


  <system.serviceModel>
    <bindings>
      <wsHttpBinding>
        <binding name="WSHttpBinding_ITextSegmentationService" 
                 closeTimeout="00:01:00"
                 openTimeout="00:01:00"
                 receiveTimeout="00:10:00"
                 sendTimeout="00:05:00"
                 maxReceivedMessageSize="2147483647">
          <readerQuotas maxDepth="32" maxStringContentLength="2147483647"
        maxArrayLength="2147483647" maxBytesPerRead="2147483647" maxNameTableCharCount="2147483647" />
        </binding>
      </wsHttpBinding>
    </bindings>
    <client>
      <endpoint address="http://localhost:9806/DeepIE/service" binding="wsHttpBinding"
        bindingConfiguration="WSHttpBinding_ITextSegmentationService"
        contract="EnglishTextSegmentation.ITextSegmentationService"
        name="WSHttpBinding_ITextSegmentationService">
        <identity>
          <dns value="localhost" />
        </identity>
      </endpoint>
    </client>
  </system.serviceModel>


3. 还有,CLR 无法从 COM 上下文 0x20a6f0 转换为 COM 上下文 0x20a860,这种状态已持续 60 秒,

解决方法是 在Debug -> Exceptions -> Managed Debug Assistants里 去掉ContextSwitchDeadlock一项前面的钩。

在调试(菜单)-->异常--> Managed Debug Assistants里 去掉ContextSwitchDeadlock一项前面的钩。


至此一堆蛋疼问题全部解决。



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值