Web Service 创建学习


什么是web service?

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


过来的请求的技术。


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


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


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


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

 

工作原理:


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


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


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



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


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


                                                                         Web Service 创建学习_第1张图片

 

 


创建web service :

 

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


         地浏览。



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



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

 


创建服务端:



       打开VS 新建项目:


       Web Service 创建学习_第2张图片

 


      添加web服务:


 Web Service 创建学习_第3张图片

   


      服务端方法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 创建学习_第4张图片

 

 

创建客户端:

 

         新建项目:


 

Web Service 创建学习_第5张图片

 


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


 Web Service 创建学习_第6张图片

    


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



<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 创建学习_第7张图片



总结:


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


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


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


分析。

 

你可能感兴趣的:(Web Service 创建学习)