zoukankan      html  css  js  c++  java
  • WebService

    1 认识WebService

    在 3,5 中新建一个服务应用程序

    1 在asmx中
    /// <summary>
    /// Service1 的摘要说明
    /// </summary>
    [WebService(Namespace = "http://tempuri.org/")] //标注web服务器的命名空间,将来可以修改成公司的域名
    [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)] //表示web服务器的默认提供方式
    [System.ComponentModel.ToolboxItem(false)]
    // 若要允许使用 ASP.NET AJAX 从脚本中调用此 Web 服务,请取消注释以下行。
    // [System.Web.Script.Services.ScriptService]
    //特点:1、继承WebService 2、上面三个特性标签必须添加
    public class Service1 : System.Web.Services.WebService
    {
    [WebMethod] //标注当前方法可以被互联网的用户访问到
    public string HelloWorld()
    {
    return "Hello World11111111111111";
    }

    [WebMethod]
    public Pig GetPig()
    {
    return new Pig() { Name = "野猪", Age = 1 };
    }
    }

    2 字客户端调用的时候 添加服务引用 会生成代理类 通过代理类找到自己要调用的方法
    在生成代理类的时候 WebConfig会生成一个配置信息

    <system.serviceModel>
    <bindings>
    <basicHttpBinding>
    <binding name="Service1Soap" />
    <binding name="OrderSoap" />
    <binding name="GetOrderSoap" />
    </basicHttpBinding>
    </bindings>
    <client>
    <endpoint address="http://localhost:18715/Service1.asmx" binding="basicHttpBinding"
    bindingConfiguration="Service1Soap" contract="Wes1.Service1Soap"
    name="Service1Soap" />
    <endpoint address="http://localhost:18715/Order.asmx" binding="basicHttpBinding"
    bindingConfiguration="OrderSoap" contract="WesOrder.OrderSoap"
    name="OrderSoap" />
    <endpoint address="http://localhost:35095/GetOrder.asmx" binding="basicHttpBinding"
    bindingConfiguration="GetOrderSoap" contract="GetOrderOpt.GetOrderSoap"
    name="GetOrderSoap" />
    </client>
    </system.serviceModel>-----这里有三个服务 到时候发布的时候只要更改配置文件

    3 在4,0 以上的时候 就没有服务应用程序了 需要添加一个项目 在添服务;


    总结 走的协议是Soap 协议 都是用过Xml发送请求 通过xml响应请求(可以穿过防火墙)
    生成web服务的时候在后面加上?WSDl可以看他的元数据

    客户端通过代理类访问WebService的时候--》给一个####SoapChnannel的中转方法然后他生成报文头报问体 在访问WebService----》
    返回的时候还是返回给&&&SoapClien 在生成报文头 报文体 在给客户端


  • 相关阅读:
    macbook使用美化工具在屏幕展示出常查信息
    Mac 下 Docker 运行较慢的原因分析及个人见解
    Json Web Token
    Mac开发环境部署
    python3.6_多进程_multiprocessing.pool_concurrent.futures_ProcessPoolExecutor_对比
    apache2_nginx_反向代理设置_https_不验证后端证书_只允许访问首页
    awstats_yum_dnf_centos8_nginx_X-Forwarded-For
    Django_uwsgi_nginx_centos_笔记
    python3_pandas.HDFStore_h5py_HDF5_的笔记
    echarts_highcharts_笔记_风向箭头
  • 原文地址:https://www.cnblogs.com/cdaq/p/4628589.html
Copyright © 2011-2022 走看看