我有一个使用MonoTouch编写的应用程序依赖于Web服务URL后端。我需要能够在应用程序内(或在其设置中)动态地在运行时设置此后端的URL。
我在CodeProject上阅读了这篇文章,它描述了动态设置URL: http://www.codeproject.com/Articles/12317/How-to-make-your-Web-Reference-proxy-URL-dynamic#_rating
但我在MonoDevelop中找不到这个选项。
我已经尝试更改我的服务的Url属性,但它似乎还有更多。 (具体来说,Web服务添加的“references.cs”文件似乎也有各种属性的硬编码URL)。
任何帮助都非常感激。
谢谢!
- scotru
答案 0 :(得分:1)
当Mono为您生成SOAP Web服务的C#包装器时,它会创建2个包装器构造器。第二个包含URL参数,您可以使用它来设置正确的URL,从而在Web服务之间切换。
来自生产的项目示例(文件Reference.cs):
public partial class ServicesInfoImplService : System.Web.Services.Protocols.SoapHttpClientProtocol
...
public ServicesInfoImplService() {
this.Url = "<DEFAULT_URL>";
}
public ServicesInfoImplService(string url) {
this.Url = url;
}
...