我一直在寻找解决问题的方法,尝试了各种建议,但到目前为止没有一个对我有用。
我可以在本地完美地访问 WCF 服务,但似乎无法从普通 LAN 网络中的另一台计算机访问它。
注意:我不是 WCF 方面的专家,但我在研究方面做了相当多的工作。我尝试了不同的绑定,netTcpBinding
但对我不起作用,因为我收到不支持的错误。
另外,我的防火墙已关闭,所以我很确定这不是防火墙问题,而且我是 Visual Studio 的内置 Web 服务器,我不知道如何通过 IIS 托管它,或者从哪里开始做那。
<system.serviceModel>
<services>
<service name="WCFService.TorrentService">
<endpoint contract="WCFService.ITorrentService"
address="TorrentService"
binding="basicHttpBinding">
</endpoint>
<endpoint address="TorrentService/MEX/"
binding="mexHttpBinding"
contract="IMetadataExchange">
</endpoint>
<host>
<baseAddresses>
<add baseAddress="http://192.168.7.111:3697/TorrentService"/>
</baseAddresses>
</host>
</service>
</services>
<behaviors>
<serviceBehaviors>
<behavior>
<!-- To avoid disclosing metadata information, set the values below to false before deployment -->
<serviceMetadata httpGetEnabled="true" httpsGetEnabled="true"/>
<!-- To receive exception details in faults for debugging purposes, set the value below to true. Set to false before deployment to avoid disclosing exception information -->
<serviceDebug includeExceptionDetailInFaults="false"/>
<useRequestHeadersForMetadataAddress>
<defaultPorts>
<add scheme="http" port="3697" />
</defaultPorts>
</useRequestHeadersForMetadataAddress>
</behavior>
</serviceBehaviors>
</behaviors>
<protocolMapping>
<add binding="basicHttpBinding" scheme="https" />
</protocolMapping>
<serviceHostingEnvironment aspNetCompatibilityEnabled="true" multipleSiteBindingsEnabled="true" />
我很确定配置文件中有很多不应该存在的东西,因为我尝试了很多不同的解决方案,但到目前为止没有一个对我有用。
当我尝试从另一台机器访问服务时,请执行以下操作