我有一个 WCF 网络服务,我正在努力使用 netTcpBinding 成功运行它。
我收到的错误是
Value cannot be null.
Parameter name: context
在我收到的有关此错误消息的第一个搜索结果中,有以下帖子表明发生此错误是因为 WCF 不支持枚举(我的服务确实包含)。
然而,花了一些时间创建另一个测试 WCF 服务后,我已经能够通过我的 web 服务成功地提供包含枚举的响应,这似乎与该帖子所说的相矛盾。
这是我的服务定义的外观。
<service name="Implementations.CourseService" behaviorConfiguration="metadataBehavior">
<endpoint address="mex" binding="mexTcpBinding" contract="IMetadataExchange" />
<endpoint address="/CourseService.svc" binding="wsHttpBinding" contract="Contracts.ICourseService" />
<endpoint address="" binding="netTcpBinding" contract="Contracts.ICourseService">
<identity>
<dns value="localhost" />
</identity>
</endpoint>
<host>
<baseAddresses>
<add baseAddress="net.tcp://localhost:808/CourseService.svc" />
</baseAddresses>
</host>
</service>
<serviceBehaviors>
<behavior name="metadataBehavior" >
<serviceMetadata httpGetEnabled="true" />
<serviceDebug includeExceptionDetailInFaults="true" />
</behavior>
</serviceBehaviors>
<netTcpBinding >
<binding name="tcpBinding" />
</netTcpBinding>
这是调用此服务的最终结果。
任何帮助将不胜感激。我也会定期查看这篇文章,所以如果有人需要我可能没有提供的任何进一步信息,请询问,因为我不确定什么是相关的,什么不是。