原文
http://www.cnblogs.com/WormCanFly/archive/2009/06/18/1506125.html
自己改的
using System; using System.Net; using System.Windows; using System.Windows.Controls; using System.Windows.Documents; using System.Windows.Ink; using System.Windows.Input; using System.Windows.Media; using System.Windows.Media.Animation; using System.Windows.Shapes; using System.ServiceModel; namespace PortDemo { public class ServiceUtil { /// <summary> /// 调用远端Web service /// </summary> /// <returns></returns> public static PortService.ServiceSoapClient GetDynamicclient() { //BasicHttpBinding 定义 BasicHttpBinding binding = new BasicHttpBinding( Application.Current.Host.source.Scheme.Equals("https",StringComparison.InvariantCultureIgnoreCase) ? BasicHttpSecurityMode.Transport : BasicHttpSecurityMode.None); binding.MaxReceivedMessageSize = int.MaxValue; binding.MaxBufferSize = int.MaxValue; //Endpoind 定义 EndpointAddress client = new EndpointAddress(GetHostUrl()); //返回web service实例:注意这里利用了服务的构造函数的重载 return new PortService.ServiceSoapClient(binding,client); } /// <summary> /// 调用本地Web service /// </summary> /// <returns></returns> public static PortService.ServiceSoapClient GetmyService() { BasicHttpBinding binding = new BasicHttpBinding( Application.Current.Host.source.Scheme.Equals("https",StringComparison.InvariantCultureIgnoreCase) ? BasicHttpSecurityMode.Transport : BasicHttpSecurityMode.None); binding.MaxReceivedMessageSize = int.MaxValue; binding.MaxBufferSize = int.MaxValue; //取得web service路径 EndpointAddress client = new EndpointAddress((new Uri(Application.Current.Host.source,"../Service.asmx"))); return new PortService.ServiceSoapClient(binding,client); } public static string GetHostUrl() { //指定web service路径 return "http://127.0.0.1:2222/Service.asmx"; } } }
使用、注释部分不能用
using System; using System.Collections.Generic; using System.Linq; using System.Net; using System.Windows; using System.Windows.Controls; using System.Windows.Documents; using System.Windows.Input; using System.Windows.Media; using System.Windows.Media.Animation; using System.Windows.Shapes; namespace PortDemo { public partial class MainPage : UserControl { public MainPage() { InitializeComponent(); PortService.ServiceSoapClient sp = ServiceUtil.GetDynamicclient(); sp.HelloWorldAsync(); sp.HelloWorldCompleted += new EventHandler<PortService.HelloWorldCompletedEventArgs>(sp_HelloWorldCompleted); //PortService.ServiceSoapClient sp1 = ServiceUtil.GetmyService(); //sp1.HelloWorldAsync(); //sp1.HelloWorldCompleted += new EventHandler<PortService.HelloWorldCompletedEventArgs>(sp_HelloWorldCompleted1); } void sp_HelloWorldCompleted(object sender,PortService.HelloWorldCompletedEventArgs e) { MessageBox.Show(e.Result); } void sp_HelloWorldCompleted1(object sender,PortService.HelloWorldCompletedEventArgs e) { MessageBox.Show(e.Result); } } }
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。