ITPub博客

首页 > Linux操作系统 > Linux操作系统 > WebService 应用- .Net 平台WebService的创建、部署和使用介绍

WebService 应用- .Net 平台WebService的创建、部署和使用介绍

原创 Linux操作系统 作者:iDotNetSpace 时间:2010-05-31 16:34:51 0 删除 编辑
.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
<!--Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->using System;
using System.Linq;
using System.Web;
using System.Web.Services;
using System.Web.Services.Protocols;
using System.Xml.Linq;

[WebService(Namespace 
= "http://tempuri.org/")]
[WebServiceBinding(ConformsTo 
= WsiProfiles.BasicProfile1_1)]
// To allow this Web Service to be called from script, using ASP.NET AJAX, uncomment the following line. 
// [System.Web.Script.Services.ScriptService]
public class Service : System.Web.Services.WebService
{
    
public Service () {
        
//Uncomment the following line if using designed components 
        
//InitializeComponent(); 
    }

    [WebMethod]
    
public string HelloWorld() {
        
return "Hello World";
    }
}


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

  要注意的是:

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

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

 

二、部署WebService

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

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

  1.  \Inetpub

  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目录中。


 三、使用WebService

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

  * 添加Web Service引用

  * 可以改一下Web Service的引用名,然后实例化应用再调用方法:  (WebService ws = new WebService(); string s = ws.HelloWorld();)

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

      *.disco,*.discomap,*.wsdl

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

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

  

  

  

  

  

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

  

  function a()

  {

  WebService.HelloWorld(onresult);

  }

  a();

  ......

   

 

四、调试WebService

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

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

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

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

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/12639172/viewspace-664113/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2008-01-04

  • 博文量
    2376
  • 访问量
    5766141