Web Service 创办学习

Web Service 创建学习


什么是web service?

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


过来的请求的技术。


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


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


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


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

 

工作原理:


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


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


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



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


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


                                                                         Web Service 创办学习

 

 


创建web service :

 

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


         地浏览。



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



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

 


创建服务端:



       打开VS 新建项目:


       Web Service 创办学习

 


      添加web服务:


 Web Service 创办学习

   


      服务端方法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 Service 创办学习

 

 

创建客户端:

 

         新建项目:


 

Web Service 创办学习

 


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


 Web Service 创办学习

    


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



<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 的初学者来说,难点在于客户端对服务引用的实例化,如何在客户端去调用到发布的服务是关


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


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


分析。

 

3楼u013038861昨天 21:53
WebService和咱们项目中的服务器端有什么不一样呢?
Re: mengdonghui1234562小时前
回复u013038861n下篇博客告诉你
2楼u013067756昨天 17:00
WCF的总结,很有共鸣!总结让我们不断的提升和成长!
Re: mengdonghui123456昨天 19:04
回复u013067756n这两个有相似的地方。
1楼u013034223昨天 15:49
实现面向服务编程的方式之一。不一样的体验。
Re: mengdonghui123456昨天 15:55
回复u013034223n对,是面向服务。