重用 WebService 但使用自定义端点
我正在使用具有端点 http://api.domain_a.com/
的 Web 服务,并使用 Visual Studio 我可以轻松地生成一个代理类来轻松简单地使用该服务。
但我想创建一种用户可以使用自己的服务(并访问他们自己的数据,而不是我自己的数据)的方式),我想知道是否有一种方法可以动态更改服务的基本 URL。
作为示例,
我通过将 Web 引用添加到我的项目来生成代理类,但现在,每个请求我有一个用户名,我将获得用户设置 (女巫包含他们的 URL),如何(如果有可能)告诉生成的代理我正在使用域 http://domain_b.com/ api
而不是我在添加 Web 引用时使用的原始 API?
我需要手动调用该服务吗?发送和接收 XML 数据?或者有一个“开关”可以用来指向新的 URL?
I'm using a Web Service that has a endpoint of http://api.domain_a.com/
and using Visual Studio I can easily generate a proxy class to work with the service easy and simple.
But I want to create a way that users can use their own service (and access their own data, instead my own) and I wanted to know if there is a way that I can change the base URL of the Service on-the-fly.
As an example
I generate the proxy classes by adding the Web References to my project, but now, per each request I have a User Name that I will get the User Settings (witch contains their URL), how can I (if it's a possibility) tell the generated proxy that I'm using domain http://domain_b.com/api
instead of the original that I used when adding the Web References?
Do I need to call the service manually? Sending and Receiving XML data? or there is a "switch" that I can use to point to the new URL?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
如果您使用 .NET 2.0,则每个代理类都应该有一个 URL 属性。只需更新 URL 属性,代理就会指向新服务。
如果您使用 WCF,那么事情会变得有点复杂,但也不会复杂太多。您只需更改端点地址:
If you're using .NET 2.0, each of those proxy classes should have a URL property. Simply update the URL property and the proxy will point to the new service.
If you're using WCF then things get a little more complicated, but not by much. You just have to change the Endpoint Address: