1

我有一个 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>

这是调用此服务的最终结果。

在此处输入图像描述

任何帮助将不胜感激。我也会定期查看这篇文章,所以如果有人需要我可能没有提供的任何进一步信息,请询问,因为我不确定什么是相关的,什么不是。

4

0 回答 0