如何在没有HTTP容器的情况下调用WCF操作?

时间:2009-06-25 19:52:22

标签: c# wcf web-services soap

我有一个环境,我无法添加另一个HTTP容器(无论是ServiceHost,IIS等),但我仍然需要使用WCF Web服务处理SOAP请求(表示为字符串)。我希望编写一个简单的包装器方法(C#),例如:

string processSoapMessage(string req);

在该方法中,我将使用对输入字符串进行操作的XML阅读器手动创建System.ServiceModel.Channels.Message实例。我希望通过创建一个处理生成的Message实例的ChannelDispatcher来避免编写手动调度代码,但似乎ChannelDispatcher与特定的ServiceHost绑定,如果它需要一个开放端口,我在环境中就不能拥有它。是否有一些我可以调用的调度代码来完成此操作而不创建托管容器?

3 个答案:

答案 0 :(得分:1)

假设一切都发生在同一台机器上,那么使用Named Pipe绑定可能是你最好的选择。

答案 1 :(得分:0)

因此,您无法创建一个简单的控制台应用程序来创建和打开ServiceHost来托管您的服务类?

马克

答案 2 :(得分:-1)

无论您做什么,都不要使用System.String类型来保存XML。通过XmlReaderXmlDocument或其他内容。始终使用XML API来操作XML。