??? 创建和发布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文件,包含如下代码:
using System;
using System.Web;
using System.Web.Services;
using System.Web.Services.Protocols;
[WebService(Namespace = "http://tempuri.org/")]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
public class Service : System.Web.Services.WebService
{
??? public Service () {
??????? //如果使用设计的组件,请取消注释以下行
??????? //InitializeComponent();
???? }
???? [WebMethod]
??? public string HelloWorld() {
??????? return "Hello World";
???? }
? ?
}
可以在这里修改自己的命名空间,加入自己的方法,但本文只是为了说明如何创建和发布,所以对Service.cs不做任何更改。
2.生成网站
很简单,“生成”->“生成网站”或直接Shift+F6
3.发布网站
也是简单,“生成”->“发布网站”,这里会弹出一个对话框,什么也不需要修改,记下发布的目录。比如:C:\我的文档\Visual Studio 2005\Projects\WebSite1\PrecompiledWeb\WebSite1,我们需要目录下的文件。
4.配置IIS
在你的WEB目录下一个文件夹,比如webservice,并将第3步发布目录中的所有文件和目录拷贝到这个目录中,打开IIS,找到你的站点,在这个webservice目录上点右键,选择属性,在弹出对话框的“目录”选择项卡中点击“创建”按钮,然后确定即可。
到这时,应该已经完成,你可以通过访问http://域名/webservice/Service.asmx来验证。
?
注意:
当程序是在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以上版本
?
2010.09.02
一次发布后,发现服务器上C盘剩余空间为零,服务发布在D盘,但是webservice已经无法访问了,Service Unavailable,腾出空间并且重启了IIS Admin Service后,正常,后经验证,再次发布后,C盘确实又小了2M,估计发布后是会占用C盘空间