winfrom 动态调用WebService
我现在需要动态调用WebService接口,因为别人给我的接口名称都是(域名 +/webservice/Area.asmx/GetData
),接口名称都是不一样的,而我需要根据每个域名获取xml信息,网上找了动态调用的代码。但好像是web程序的。因为其中有一个类是ServiceDescription,需要添加using System.Web.Services.Description; 命名空间,winfrom中时没有的。请问高手在winform中怎么动态调用WebService。
------解决方案--------------------http://topic.csdn.net/u/20090220/10/08c8ca6f-3733-40ff-840e-d6ca6894ab35.html
------解决方案--------------------如果你是通过 Web 引用的方式的话 动态设置如下
WinForm 作则Web引用右键有一个属性,可以设置静态还是动态。
然后会生成一段XML 在 app.config中 ,在里面改好地址就可以了。
如果在程序启动的时候,想叫更改地址生效,可以用 cofigrationManager.RerashSection(string section)方法。用太进行强制刷新。
Windows phone 中 如果用到 需要对 自动生成的代理类中的 构造函数的 this.Url进行 切入点赋值。
但是前提也一定是 动态的。你可以吧地址放在一个可以配置的地方。
自动生成的代理类在引用的 结构中 ,以树的形式隐藏,3个XML 架构 和 cs 类。
------解决方案--------------------winform中也可以添加System.Web.Services引用的。
C#不添加引用,动态调用webservice
你也可以用HttpWebRequest发送请求的方式去调用。
------解决方案--------------------试下这个吧
http://blog.csdn.net/mybvc/article/details/7308761
------解决方案--------------------如果你调用的 是 JAVA 的 确定不是 struct 的架构的那你要 也没有 SOAPAction 的 不能用 HttpWebRequest 和 HttpWebResponse
如果是 封装的 例如 .do 或 .action 或是 c# 的 .ascx 的你可以直接用
HttpWebRequest 和 HttpWebResponse
------解决方案--------------------带式前提,你一定要 添加 ,System.Web.Services 这个DLL,少了它可是不行的,
------解决方案--------------------.ascx 错了,是 .asmx
------解决方案--------------------在项目中。
1.右击引用-添加服务引用。把WebService的地址写上:xxxxx.asmx
2.命名空间默认是ServiceReference1,在代码中写
C# code
ServiceReference1.Test01 test=new ServiceReference1.Test01 ();