【发布时间】:2019-08-29 19:53:39
【问题描述】:
我必须创建一个 Windows 服务来读取客户客户端应用程序的一些机器数据。但是,我没有选择在 IIS 中托管服务。客户只能使用 webrequest 通过 web url 使用服务。 是否有可能使用 webrequest 使用托管在 windows 服务中的 WCF 服务。
托管方法不应该在 IIS 中,使用服务应该是一种 webrequest(我对此没有任何想法)。 客户端只会调用 net.tcp,http URL 类型来消费服务。
提前致谢。
【问题讨论】:
-
这里的答案可能会有所帮助 - stackoverflow.com/questions/1485061/… ... 可以通过 HttpWebRequest 使用 WCF 服务,但是以正确的格式获取 XML 数据可能有点麻烦。
-
感谢您的回复@sam。提供的链接上的讨论是关于在没有 IIS 的情况下托管服务。我知道将 wcf 服务托管为 Windows 服务和自托管,但要使用这两种类型的客户端应用程序需要服务引用。但在我的情况下,客户端只能通过 URL 使用服务。 (无法将服务引用 dll 添加到客户端)客户端是 SAP。
-
啊,是的 - 好吧,ServiceHost 将让您在没有 IIS 的情况下启动一个小型 HTTP 服务器。通过 HTTP 使用 XML WCF 服务就是让 XML 具有正确的形状——您不需要通常会在 Visual Studio 中添加的服务引用,这些只是帮助您轻松创建 XML 请求,但是完全可以自己创建它们并使用普通的旧 HTTP 请求,只是需要做更多的工作。
-
@sam 能否提供一些示例代码或项目的链接,谢谢。
-
如您所知,wcf 能够创建restful 风格的服务,它依赖于Http 协议。 docs.microsoft.com/en-us/dotnet/framework/wcf/feature-details/… 可以被不同Http动词的Http请求消费,可以由HttpWebRequest创建。