Silverlight配置Webservice服務

來源:互聯網
上載者:User

原文

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);        }    }}

 

 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.