2011-04-14 37 views
0

我遇到了问题。我一直在谷歌搜索,我不知道该怎么做,所以任何帮助将非常感激。基本上我在App Tier上有一个Windows Wcf服务(它并不会安装IIS)。作为安全测试的一部分,我需要将手动创建的TCP请求发送到Wcf服务。 Windows服务只有一个NetTcpBinding,没有别的。我的解决方案需要创建一个TCP请求作为SOAP消息的一部分,将其发送到Wcf服务并获取响应。使用Wcf测试客户端时我没有问题,所以我知道Wcf服务工作。有人可以帮忙吗?如何将WCF Windows服务作为原始TCP请求调用

从我在阅读了msdn网站等等之后收集到的信息......我需要使用套接字并创建一个SOAP请求,但是当我的netTcpBinding需要使用wsHttpBinding时,所有示例都将集中在一起。

感谢

+0

你有一个WCF服务与TCP端点,你想从另一层调用?当你说“手动创建的TCP请求”时,你的意思是什么?你只是想调用TCP端点上的操作? – BrandonZeider 2011-04-14 13:43:59

+0

我将从另一台机器(可能是不同的应用程序层)调用WCF服务,但它将位于同一网络中。 是的。所以我基本上只想编写一个请求来调用Wcf服务的方法。例如,如果它是通过HTTPBinding,我可以编写一个HttpWebRequest(或沿着这些行)。我基本上需要做同样的事情,但一个Tcp连接,而不使用任何代理引用。 – Khy 2011-04-15 09:29:08

回答

0

退房此链接: Build raw soap messages

你可以建立非类型化的消息,并发送过线。

干杯,

吉拉德

0

根据您的意见,我认为这是作为使用ChannelFactoryNetTcpBinding一样简单。所以像这样:

NetTcpBinding binding = new NetTcpBinding(); 
EndpointAddress address = new EndpointAddress("Your URI"); 

ChannelFactory<IContract> factory = new ChannelFactory<IContract>(binding, address); 
IContract channel = factory.CreateChannel(); 

channel.YourOperation(); 

((ICommunicationObject)channel).Close();