首页 > 代码库 > 如何创建和发布.asmx Web Service

如何创建和发布.asmx Web Service

创建和发布Web Service
Web服务方法中可以返回一个DataSet对象

 

WEB服务可以说是下一代WEB应用程序的基础,无论客户端是WINDOWS应用、ASP.NET Web Form程序、甚至其他语言的客户端,都可以与同一个WEB服务通信,其平台和语言无关性使其有了广阔的发展空间。

利用VS2005和IIS我们可以很容易地发布一个WEB SERVICE

 

环境:Windows Server 2003,.Net FrameWork 2.0,IIS6.0

工具:VS2005

 

1.首先VS2005中新建一个WEB服务项目。

打开“文件”->“新建”->“网站”,在对话框中选择“ASP.NET Web服务”,VS2005会自动生成一个Service.cs文件,包含如下代码:

 

C#代码  收藏代码
  1. using System;  
  2. using System.Web;  
  3. using System.Web.Services;  
  4. using System.Web.Services.Protocols;  
  5.   
  6. [WebService(Namespace = "http://tempuri.org/")]  
  7. [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]  
  8. public class Service : System.Web.Services.WebService {  
  9.     public Service () {  
  10.         //如果使用设计的组件,请取消注释以下行  
  11.         //InitializeComponent();  
  12.     }  
  13.   
  14.     [WebMethod]  
  15.     public string HelloWorld() {  
  16.         return "Hello World";  
  17.     }  
  18. }  

 


可以在这里修改自己的命名空间,加入自己的方法,但本文只是为了说明如何创建和发布,所以对Service.cs不做任何更改。其中可能会需要在项目中添加dll,比如log4net.dll,除了在代码中声明使用:using log4net; 还有就是在项目上右键 - 添加引用 - 添加该dll。就会最终将其添加在项目根目录的Bin文件夹下。

2.生成网站

很简单,“生成”->“生成网站”或直接Shift+F6

3.发布网站

也是简单,“生成”->“发布网站”,这里会弹出一个对话框,什么也不需要修改,记下发布的目录。比如:C:\我的文档\Visual Studio 2005\Projects\WebSite1\PrecompiledWeb\WebSite1,我们需要目录下的文件。

4.配置IIS

 

以windows server 2003为例,首先如果服务器上没有安装iis,则先须安装:

控制面板添加删除 -> 添加/删除组件 -> 应用程序服务器 -> Internet信息服务

 

如安装过程中需要2003安装光盘上的数据,具体对应是,例如光盘iso文件解压后的话:

cn_win_srv_2003_r2_enterprise_with_sp2_vl_cd1\I386

之后选择什么是对话框上有提示的了,例如IISBACK.VB_之类

 

进入IIS:

管理工具 -> Internet 信息服务管理器 

在IIS管理器 - 网站 - 默认网站(或自己再新建一个网站)下新建一个虚拟目录,比如webservice,并将第3步发布目录中的所有文件和目录拷贝到这个目录中,打开IIS,找到你的站点,在这个webservice目录上点右键,选择属性,在弹出对话框的“虚拟目录”选择项卡中,应用程序名后,点击“创建”按钮,然后确定即可。

到这时,应该已经完成,你可以通过访问http://域名/webservice/Service.asmx来验证。

至此,仍有可能不好访问且如上创建的webservice虚拟目录中若无asp.net选项卡,那就很有可能是如下问题。

 

注意:

当程序可能需要在Framework2.0框架上运行,而在iis中的默认.net环境是1.1。这时将发生不可识别的节点的问题。

解决办法:

将.net环境升级为2.0,开始 -> 运行 -> cmd ->

C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\aspnet_regiis.exe -i

 

有时仍旧会提示需要安装.net framework 3.5以上版本

 

以上安装完毕后,还是可能有些小问题的,比如没有权限执行脚本啊,那就在虚拟目录 - 执行权限 中选择纯脚本

如果还有404, 则:

 

Js代码  收藏代码
  1. iis访问aspx文件显示404无法找到文件?  
  2.   
  3. 解决办法:  
  4.   
  5. Microsoft Windows [版本 5.2.3790]  
  6. (C) 版权所有 1985-2003 Microsoft Corp.  
  7.   
  8. C:\Documents and Settings\Administrator>cd c:\windows\microsoft.net  
  9.   
  10. C:\WINDOWS\Microsoft.NET>cd fra*  
  11.   
  12. C:\WINDOWS\Microsoft.NET\Framework>cd v2*  
  13.   
  14. C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727>aspnet_regiis -i -enable  
  15. 开始安装 ASP.NET (2.0.50727)。  
  16. .........................................................  
  17. ASP.NET (2.0.50727)安装完毕。  
  18.   
  19. C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727>  
 

引用自:http://www.cnblogs.com/mrray/archive/2010/11/24/1886300.html

 

看运行网页直接在asmx文件上右键浏览。