zoukankan      html  css  js  c++  java
  • WebService 应用 .Net 平台WebService的创建、部署和使用介绍(转)

    .NET平台内建了对Web Service的支持,包括Web Service的构建和使用。与其它开发平台不同,使用.NET平台,你不需要其他的工具或者SDK就可以完成Web Service的开发了。.NET Framework本身就全面支持Web Service,包括服务器端的请求处理器和对客户端发送和接受SOAP消息的支持。下来我们就使用 一个非常简单的示例来介绍Web Service的创建、部署和使用。

       

    一、用Visual Studio创建一个最简单的Web Service

      首先,打开VS,打开“File->New->Web Site”,选择“ASP.NET Web Service”。

      查看Service.cs代码,你会发现已经为Web Service文件建立了缺省的框架。原始代码为:

    Default Web Service
    using System;ITPUB个人空间E ][ASt*b\
    using System.Linq;ITPUB个人空间;u"V3J(C~+w'p?
    using System.Web;
    pY'lO [v0
    using System.Web.Services;ITPUB个人空间i:\Q1n"n'z+p
    using System.Web.Services.Protocols;ITPUB个人空间+Bp%^'t/zt5`
    using System.Xml.Linq;
    #G"x n|o2} c.T^ b0
    1d\5t Q,g0[WebService(Namespace 
    = "http://tempuri.org/")]
    "iwK DIKj0[WebServiceBinding(ConformsTo 
    = WsiProfiles.BasicProfile1_1)]
    |.@4d_hR%y0
    // To allow this Web Service to be called from script, using ASP.NET AJAX, uncomment the following line. ITPUB个人空间7Jvq1v.l?^
    // [System.Web.Script.Services.ScriptService]
    C/j:Wy6r7Z WC1q0
    public class Service : System.Web.Services.WebService
    O HH9e N(t0{
    u*d:w @w7Si0    
    public Service () {ITPUB个人空间 a7I;y/Jo"~X
            
    //Uncomment the following line if using designed components ITPUB个人空间8B2wn W,CX
            
    //InitializeComponent(); 
    -e g dn4n.y5^n0
        }ITPUB个人空间 \'o;g8Z[5]em
    ITPUB个人空间yTKL%I!zw.]
        [WebMethod]ITPUB个人空间zX4b2i*GC ^7w
        
    public string HelloWorld() {ITPUB个人空间1zkO'r4y~
            
    return "Hello World";ITPUB个人空间7K.d+r-ex2F#u(G[(]?
        }ITPUB个人空间HZx4Y$IM3x Jo
    }


    u|Z^3QJ Z Kx/u0

      这个Web服务使用http://tempuri.org/作为默认命名空间。工程里面已经有一个Hello World的方法了,直接运行看看效果,点击显示页面上图中的“HelloWorld”超链接,跳转到下一页面。再点击“调用”按钮,就可以看到用XML格式返回的Web Service结果为: <string>Hello World</string>。这样我们就可以添加所有我们想要提供的方法。

      要注意的是:

      1. http://tempuri.org/是默认命名空间,建议发布前更换自己的命名空间。

      2. [WebMethod]是Web Service为我们提供的特性,它表示下面的方法是 Web 方法,允许Web使用SOAP调用该方法。一个Web Service文件中可以有多个[WebMethod],一个[WebMethod]只能对它下面的方法有效。

    二、部署WebServiceITPUB个人空间5mrnq)K3d ^2}*Zk

      Webservice只有部署好并发布后才能供外部使用,不如发布到tcp 服务器。

      Webservice部署将会有下面的目录结构:

      1.  \InetpubITPUB个人空间:J$D'd!VNS|0j0h

      2.  \wwwroot

      3.  \WebServiceName

      4.  WebServiceName.asmx

      5.  \Bin

      WebService发布的条目有:

    条目

    描述

    Web应用程序目录

    作为你的XML Web服务的根目录。所有的文件都存放在这个目录中。这个目录应该被标记为一个IIS Web应用程序所用。

    WebServiceName.asmx文件

    调用XML Web服务的客户端的基本URL。这个文件可以为任何有效的文件名。

    WebServiceName>.disco文件

    (可选的)作为XML Web服务的发现机制。.disco文件不会自动地为XML Web服务创建。这个文件可以为任何有效的文件名。

    Web.config文件

    (可选择的)如果你需要覆盖默认配置设置,你可以包含一个web.config文件。Web服务使用这个配置文件来允许系统的定制和可扩展性。例如,如果在系统中你的Web服务需要验证而其他的Web应用程序不需要的话,你可以提供一个该Web服务特定的web.config文件。

    \Bin目录

    包含用于这个XML Web服务的二进制文件。如果你的XML Web服务类和.asmx文件不在同一个目录下,那么包含类的部件必须在\Bin目录中。

    ITPUB个人空间*N6t2x`hb

     三、使用WebService

      1. 添加Web引用---实例化Web Service类---执行WebService方法
    ?i;kBkVN$k0  WebService 可能在本项目、非本项目、甚至在异地被调用。

      * 添加Web Service引用

      * 可以改一下Web Service的引用名,然后实例化应用再调用方法:  (WebService ws = new WebService(); string s = ws.HelloWorld();)ITPUB个人空间_-Ax"UY

      * 添加完引用后,同时会看到App_WebReferences文件夹下已经添加了Web Service的相关文件

          *.disco,*.discomap,*.wsdl

      2. WebService在前台页面的JS 调用方法

        2.1 首先通过下面的方法把Webservice在前台引用进来

      <asp:ScriptManager runat="server">

      <Services>

      <asp:ServiceReference Path="WebService.asmx" InlineScript="True" />

      </Services>

      </asp:ScriptManager>

        2.2 然后就可以通过JS程序进行调用,示例如下:

      <script. type="text/jscript">

      function a()

      {

      WebService.HelloWorld(onresult);

      }

      a();

      ......

      </script> 

    四、调试WebService

      在VS里,如果WebService是与ASP.NET放在同一个项目的,直接设置断点就可以进行单步调试了。但如果该WebService是个独立的项目的话,客户端调用后 就算设置断点也是无法进行调试的。

      如果只是单独的对WebService调试的话。可以这么做,对该WebService项目点击右键,调试,启动新实例,就可以设置断点进行单步调试了。

      但如果是想测试下客户端传送到WebService的数据进行调试的话,可以这么做:启动客户端,如WINFORM或WEB页,然后对该Web Service下的调试附加到进程,在WebService里设置好断点就可以进行调试了。

      也可以在Web.Config里启动trace 实时检测数据变化。

  • 相关阅读:
    《java异常的一些总结》
    《java小应用程序(Applet)和java应用程序(Application)分别编写的简单计算器》
    《Java应用程序(Application)》
    CPU 内部 MOSFET 晶体管模型
    Intel 4004,世界上第一块 CPU
    VBScript
    VBScript
    Web Scraping(网页抓取)基本原理
    VBScript
    莎士比亚电路ヾ(≧▽≦*)o
  • 原文地址:https://www.cnblogs.com/wjmo520/p/2737866.html
Copyright © 2011-2022 走看看