我有一个WCF服务,我希望我的客户端能够从IIS使用而无需通过代理。客户端使用htc行为在vbscript中使用asmx服务:
<div id="oWSInterop" style="behavior:url(webservice.htc)"></div>
oWSInterop.useService "http://localhost/WSInteroperability.asmx", "WSInteroperability"
Set response = oWSInterop.WSInteroperability.callServiceSync("BuildSingleDoc", 1002, 19499, XMLEncode(sAdditionalDetail))
所以基本上我只是希望在现有客户端上尽可能少地进行更改。在使用WCF服务时,我是否被迫使用代理(即客户端上的一个类,它暴露了WCF服务中的操作)?我确实理解代理的好处,并不反对在大多数其他客户端实现中使用它,但在这种情况下,我不确定我是否有时间在客户端上处理它 - 我只是希望它的工作方式只有端点改变了。
答案 0 :(得分:2)
调用服务的客户端代理类?
是的,你肯定需要它(除非你做基于REST的WCF服务,你可以单独使用HttpClient调用) - 这就是整个WCF运行时所在的地方并发挥其魔力。
如果您想调用基于REST的服务,您可以在没有任何代理的情况下执行此操作 - 但是您可以自己进行XML或JSON解析。它可以做到,但它可能不是一个好主意。
代理有什么问题?它实际上只是一个小包装器,它将您的调用捆绑为序列化消息并将其发送到服务器端。在我看来,没有什么大的伤害....
答案 1 :(得分:0)
你在看什么?是什么让你感谢代理是一个问题?如果这是服务器端代码,它应该使用应该正常工作的浏览器设置(WinINet)。但是,“localhost”可能是一个问题,因为客户端仍然意味着“与自己交谈”(即不是服务器)。
如果是服务器端,您可能需要适当地配置WinHTTP;特别是,跳过本地地址的代理。当然,“localhost”无论如何都应该循环回来......