我正在使用mvc处理Web应用程序,我们已经有一个服务进行http绑定,客户端希望tcp绑定某些操作(不确定原因)但是它是他们的要求所以我和#39; m尝试设置net.tcp绑定,我看到的所有引用都涉及到Windows应用程序而不是Web应用程序。
我想我的问题有2个部分,首先你可以通过同一个服务/项目同时运行httpbinding和net.tcp绑定。
其次,我将如何通过webproject使用该服务?
答案 0 :(得分:1)
每个服务都与一个定义服务所在位置的地址相关联,即绑定 它定义了如何与服务进行通信,以及定义了什么的合同 服务呢。这个管理服务的三巨头很容易记住作为ABC的 服务。 WCF以端点的形式规范了这种关系。终点 是地址,合同和约束力的融合。
因此,在您的情况下,您需要为您的服务定义2个端点。 来自同一本书的例子:
<service name = "MyService">
<endpoint
address = "http://localhost:8000/MyService"
binding = "wsHttpBinding"
contract = "IMyContract"
/>
<endpoint
address = "net.tcp://localhost:8001/MyService"
binding = "netTcpBinding"
contract = "IMyContract"
/>
<endpoint
address = "net.tcp://localhost:8002/MyService"
binding = "netTcpBinding"
contract = "IMyOtherContract"
/>
</service>
在客户端,您需要&#34;添加服务参考&#34;在VS中并提供所需端点的地址。 http://msdn.microsoft.com/en-us/library/bb628652.aspx
答案 1 :(得分:0)
1)是的,您可以在服务中设置HTTP和net.tcp端点(每个端点都需要它自己的元数据交换端点)。更多细节here。
2)在您的Web应用程序项目中,右键单击References
,然后单击Add Service Reference
。在对话框中,复制net.tcp服务的端点地址。输入所需的命名空间,然后单击确定