2011-04-14 38 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();