zoukankan      html  css  js  c++  java
  • WebService 简单应用


    Web服务全称:XML Web Service,是一种可编程的应用程序逻辑组件,它可以在Internet或企业网的Web应用程序之间共享。Web服务被设计成能够通过Internet与其它应用程序之间直接交互,因此它没有界面,而是提供了一种称为协定的标准定义接口,该接口描述了XML Web Service 提供的服务。

    1、搭建一个Web服务,选择.Net FrameWork3.5

      

    选择:ASP.NET Web 服务应用程序。

    搭建完毕:我们会看到,Service1.asmx文件,双击打开Service1.asmx.cs文件:

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Web;
    using System.Web.Services;
    
    namespace WebService1
    {
        /// <summary>
        /// Service1 的摘要说明
        /// </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 Service1 : System.Web.Services.WebService
        {
    
            [WebMethod]
            public string HelloWorld()
            {
                return "Hello World";
            }
        }
    }
    

     我们可以自定义:

          [WebMethod]
            public int AddNum(int num1, int num2)
            {
                return num1 + num2;
            }
    

     2、之后我们可以在另一个站点调用:

      (1)新建一个项目Test

      (2)右键引用--添加服务引用,点击发现按钮,地址:出现我们搭建的web服务

        

    配置文件中也自动出现:

    <system.serviceModel>
        <bindings>
          <basicHttpBinding>
            <binding name="Service1Soap" closeTimeout="00:01:00" openTimeout="00:01:00"
              receiveTimeout="00:10:00" sendTimeout="00:01:00" allowCookies="false"
              bypassProxyOnLocal="false" hostNameComparisonMode="StrongWildcard"
              maxBufferSize="65536" maxBufferPoolSize="524288" maxReceivedMessageSize="65536"
              messageEncoding="Text" textEncoding="utf-8" transferMode="Buffered"
              useDefaultWebProxy="true">
              <readerQuotas maxDepth="32" maxStringContentLength="8192" maxArrayLength="16384"
                maxBytesPerRead="4096" maxNameTableCharCount="16384" />
              <security mode="None">
                <transport clientCredentialType="None" proxyCredentialType="None"
                  realm="" />
                <message clientCredentialType="UserName" algorithmSuite="Default" />
              </security>
            </binding>
          </basicHttpBinding>
        </bindings>
        <client>
        //如果不是本地的,修改域名,重新在这里配置即可调用 <endpoint address="http://localhost:9041/Service1.asmx" binding="basicHttpBinding" bindingConfiguration="Service1Soap" contract="ServiceReference1.Service1Soap" name="Service1Soap" /> </client> </system.serviceModel> </configuration>

    3、此时我们即可在项目中调用:

      ServiceReference1.Service1SoapClient myService = new Service1SoapClient();
      ViewData["num"] = myService.AddNum(8, 6);
      return View();

    视图中:就会返回两个数的和。

  • 相关阅读:
    vsftpd文件服务参数汇总和虚拟用户使用
    MHA实现mysql高可用复制集群
    mysqldump备份与基于bin-log实现完全恢复
    MySQL的日志相关内容
    MySQL(mariadb)主从复制模式与复制过滤
    MySQL(mariadb)多实例应用与多实例主从复制
    DNS的主从,转发与负载功能
    Spring 自动代理
    Jquery Validate 使用记坑
    动态代理
  • 原文地址:https://www.cnblogs.com/tianboblog/p/3314590.html
Copyright © 2011-2022 走看看