zoukankan      html  css  js  c++  java
  • 分布式技术 webservice

      web service 是一个平台独立的、低耦合的、自包含的、基于编程的web的应用程序,可使用开发的XML(标准通用标记语言下的一个字表)标准来描述、发布、发现、协调和配置这些应用程序,用于开发分布式的互操作的应用程序。

      web service技术能使得运行在不同机器上的不同应用无须借助附加的、专门的第三方软件或硬件就可互相交换数据或集成。依据webservice规范实施应用之间,无论他们所使用的语言,平台或内部协议是什么,都可以互相交换数据。webservice是自描述、自包含的可用网络模块、可执行具体业务功能。webservice也容易部署,因为他们基于一些常规的产业标准以及已有的一些技术,诸如标准通用标记语言下的子集XML/HTTP.webservice减少了应用接口的花费,webservice为整个企业甚至多个组织之间的业务流程集成提供了一个通用机制。

    1.创建一个webservice并调用

    (1)打开vs2013,新建空项目webappservice,注意选择.NET Framework 的版本,这里选择.NET Framework4.5.

    (2)右击项目webappservice,选择“添加新项 -> web -> web 服务”,命名“mywebservice.asmx”.

    (3)在mywebservice1 类中默认会添加一个 Hello World 方法,我加一个方法。

     /// <summary>
            /// 姓名+年龄
            /// </summary>
            /// <param name="name"></param>
            /// <param name="age"></param>
            /// <returns></returns>
            [WebMethod]
            public string people(string name, string age)
            {
                return "姓名:" + name + "年龄:" + age;
            }

    (4)直接在浏览器中浏览MyWebService1.asmx

    (5)单机这个方法people,如下图

    (6)直接调用,效果如图。

    返回是一个XML文件,在项目开发中,我们一般不这样的调用,而是通过添加web引用的方式。

    所以,在需要引用webservice的时候,需要将此服务运行起来。右击,“在浏览器中查看”,当然这web服务就在IIS Express里面了。

    (7)右击项目webappService,选择“添加->新建项->web窗体”,命名WebForm1.aspx,并在里面添加内容:

           <div>
                <table>
                    <tr>
                        <td>姓名</td>
                        <td>
                            <asp:TextBox ID="txtName" runat="server"></asp:TextBox></td>
                    </tr>
                    <tr>
                        <td>年龄</td>
                        <td>
                            <asp:TextBox ID="txtAge" runat="server"></asp:TextBox></td>
                    </tr>
                    <tr>
                        <td></td>
                        <td>
                            <asp:Button ID="btnAction" runat="server" Text="执行" />
                        </td>
                    </tr>
                    <tr>
                         <td>结果</td>
                       <td> <asp:TextBox ID="txtResult" runat="server"></asp:TextBox></td>
    
                    </tr>
                </table>
            </div>
        </form>

    (8)在项目右击"添加服务引用",点击“发现”

    当然,如果我们把web服务部署到IIS上,也可以直接在地址栏中输入web服务地址,然后单击“转到”按钮。

    (9)webForm1后台代码:

     /// <summary>
           /// 执行
           /// </summary>
           /// <param name="sender"></param>
           /// <param name="e"></param>
            protected void btnAction_Click(object sender, EventArgs e)
            {
                ServiceReference1.MyWebService1SoapClient _client = new ServiceReference1.MyWebService1SoapClient();
                txtResult.Text = _client.people(txtName.Text.Trim(), txtAge.Text.Trim());
            }

    (10)右击webForm1.aspx,在;浏览器中查看,运行结果如图,(注:不要关闭在浏览器中打开的http://localhost:50785/MyWebService1.asmx)

    为了方便,这里直接在项目中运行MyWebService1.asmx此服务。一般在项目中,我们会把所有的web服务单独放到一个web站点,然后发布到服务器IIS上面。

  • 相关阅读:
    Hibernate 4.3.5 JPA实现的常见错误
    Jboss7.1中部署webservice的问题-1
    VS2015 无法启动 IIS Express Web 服务器 解决方案
    Git命令实现本地文件推送到git仓库
    VSCode 首次打开提示“Git installation not found.”解决方案
    VB6 对象库未注册问题
    【使用WCF,发布服务端浏览报错】未能从程序集“System.ServiceModel, Version=3.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089” 中加载类型 “System.ServiceModel.Activation.HttpModule”。
    设计模式一一单例模式
    设计模式一一适配器模式
    .NET Framework 各版本区别(简介)
  • 原文地址:https://www.cnblogs.com/foreverfendou/p/7301900.html
Copyright © 2011-2022 走看看