如何连接到局域网内的WCF Web服务

时间:2011-05-22 07:52:31

标签: wcf c#-4.0

我在我的项目(服务器 - 客户端)中以本地主机模式使用wcf web服务并且工作正常

现在我需要从同一本地网络上的另一台机器连接到此服务

我应该在客户端的配置文件中更改哪些内容?

我将客户端的端点更改为包含本地服务器的机器的IP,无法连接!

<endpoint address="http://10.131.40.22:8732/Design_Time_Addresses/WcfServiceLibrary_Test/Service1/"
                binding="wsHttpBinding" bindingConfiguration="WSHttpBinding_RepositoryManager"
                contract="onlineExchangeCenter.RepositoryManager" name="WSHttpBinding_RepositoryManager">
                <identity>
                    <dns value="localhost" />
                </identity>
            </endpoint>

2 个答案:

答案 0 :(得分:1)

你得到了什么错误?问题可能与防火墙有关。

我通常在服务器上公开MEX端点,然后通过SVCutil生成客户端配置文件。

答案 1 :(得分:0)

首先 - 您需要为服务添加新端点 - 对于公司LAN内的连接,我建议使用netTcpBinding

<service name="someservice" behaviorConfiguration="....">
   <endpoint name="existing"
       address="......" 
       binding="wsHttpBinding"
       contract="onlineExchangeCenter.RepositoryManager" />

   <!-- add this *NEW* netTcpBinding endpoint -->
   <endpoint name="corporateLAN"
       address="net.tcp://YourServer:7171/YourService/SomeUrl" 
       binding="netTcpBinding"
       contract="onlineExchangeCenter.RepositoryManager" />
</service>

准备好后,您应该更新您的客户端 - 在Visual Studio中对服务引用执行“右键单击”并选择“更新服务引用”,或者手动将此端点信息添加到客户端配置,以便您的客户端现在将连接到服务器上的netTcp端点。

NetTcp在局域网环境中非常出色,但所使用的端口需要打开 - 如果企业环境中有任何防火墙或ISA服务器,则可能需要打开这些端口才能使其正常工作