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一项前面的钩。
至此一堆蛋疼问题全部解决。