Web Service 创建学习

来源:互联网 发布:创建windows应用程序 编辑:程序博客网 时间:2024/05/29 05:01


什么是web service?

     WebService也叫XML Web Service WebService,是一种可以接收从Internet或者Intranet上的其它系统中传递


过来的请求的技术。


     Webservice 是一种分布式的调用服务,多个客户端可以通过web配置来调用发布的服务。


     Webservices是建立可互操作的分布式应用程序的新平台。它向外界暴露出一个能够通过Web进行调用的API。也


就是说,你能够用编程的方法通过Web来调用这个应用程序。


     WebServic 很重要,但不被经常使用,它更多的是一种分布服务的方式,所以对它了解就好了。

 

工作原理:


     Web 服务端提供的是服务或功能,继面向对象后,面向服务形成了新的特色。例如请求天气预报服务,如今很


多手机、小网站等小成本的经营者都可以进行天气的预报,这是因为气象站将天气的预报的服务发布了出去,只要符


合一定条件就都可以调用这个服务。简单说就是web服务就是一个URL资源,客户端可以调用这个服务。



     Web服务体系结构由三部分组成:服务提供者、服务绑定者、服务请求者。提供者将服务发布出去,请求者进行


服务请求,绑定者将两者相结合。


                                                                         

 

 


创建web service :

 

 步骤:1.在服务端创建web项目,并且添加web服务(.asmx文件)。并且在.asmx文件内写入方法A,最后发布或本 


         地浏览。



       2.在客户端创建web项目,添加服务引用—高级—添加web引用,在其中的URL地址中输入服务端发布的地址。



       3.在客户端的新建web网页中的代码页中,实例化添加的web引用后就可以调用服务端写的方法A。

 


创建服务端:



       打开VS 新建项目:


       

 


      添加web服务:


 

   


      服务端方法A代码:

 


namespace WebSerivceManager{    ///<summary>    /// WebServiceDemo的摘要说明    ///</summary>    [WebService(Namespace ="http://tempuri.org/")]    [WebServiceBinding(ConformsTo =WsiProfiles.BasicProfile1_1)]    [System.ComponentModel.ToolboxItem(false)]    // 若要允许使用 ASP.NET AJAX从脚本中调用此 Web 服务,请取消注释以下行。    // [System.Web.Script.Services.ScriptService]    public class WebServiceDemo : System.Web.Services.WebService    {        //web服务自带的方法        [WebMethod]        public string HelloWorld()        {            return "HelloWorld";        }         [WebMethod]        //创建新的方法SupStar        public string SupStar(String User)        {            return User + ":恭喜你成功调用服务端发布的supstar方法";        }    }}


 

    发布成功可见:



 

 

 

创建客户端:

 

         新建项目:


 

 


      添加web引用:(添加服务引用—高级—添加web引用)输入URL:


 

    


  客户端新建网页,写入简单代码:



<htmlxmlns="http://www.w3.org/1999/xhtml"><headrunat="server"><metahttp-equiv="Content-Type"content="text/html;charset=utf-8"/>    <title></title></head><body>    <formid="form1" runat="server">    <div>        <asp:LabelID="Label" runat="server" Text="姓名:"></asp:Label>        <asp:TextBoxID="shuru" runat="server" Width="343px"Height="41px"></asp:TextBox>     </div>        <br>        <br>     <div>        <asp:ButtonID="Button" runat="server" Text="调用"/>        <asp:TextBoxID="xianshi" runat="server" Height="41px"Width="351px"></asp:TextBox>     </div>    </form></body></html> 


新网页对应的代码页:

 

namespace WebSerivceClient{    public partial class WebDemoClient : System.Web.UI.Page    {             protected void Button_Click(object sender, EventArgs e)        {            //实例化服务引用            WebSerivceDemo.WebServiceDemo web =new WebSerivceDemo.WebServiceDemo();            //获取输入框的字符            string user = this.shuru.Text;            //赋值给显示框            this.xianshi.Text =web.SupStar(user);        }    }}


 

 

效果:






总结:


    对于web Service 的初学者来说,难点在于客户端对服务引用的实例化,如何在客户端去调用到发布的服务是关


键。自己在第一次创建的时候都不知道去实例化哪一个对象,迷糊的不妨跟着创建过程走一遍,一遍就清除了。


    另外web Service 感觉和WCF很类似,都是发布服务然后客户调用,那么这两者之间有什么联系呢,请坐等下次


分析。

 

0 0
原创粉丝点击