打开“文件”->“新建”->“网站”,在对话框中选择“ASP.NET Web服务”,
保存方式下拉框选“文件系统”(如果选HTTP会有一些权限的限制)
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 () {
//Uncomment the following line if using designed components
//InitializeComponent();
}
[WebMethod]
public string HelloWorld() {
return "Hello World";
}
}
2.生成网站
“生成”->“生成网站”或直接Shift+F6
3.发布网站
“生成”->“发布网站”,这里会弹出一个对话框,什么也不需要修改,记下发布的目录。比如:D:\我的文档\Visual Studio 2005\Projects\WebSite1\PrecompiledWeb\WebSite1,我们需要目录下的文件。
4.配置IIS
在你的WEB目录下一个文件夹,比如WebService,并将第3步发布目录中的所有文件和目录拷贝到这个目录中,打开IIS,找到你的站点,在这个WebService目录上点右键,选择属性,在弹出对话框的“目录”选择项卡中点击“创建”按钮,然后确定即可。
到这时,已经大功告成,你可以通过访问http://域名/webservice/Service.asmx(http://localhost/WebService/Service.asmx)来验证。页面会出现如下图所示内容:
注意:除了需要在IIS中对服务目录创建程序外,还要注意防火墙或杀毒软件的设置,我在首次访问service.asmx文件时,杀毒软件报告w3wp.exe在系统文件夹中生成asp_code.dll等,应该允许其他创建,否则会无法访问。
通过这样简单的方法,你可以轻松建立自己的WEB服务,在同一站点还可以有多个WEB服务。
C#的winform中调用Web Service API
在服务中我们只有一个自动生成的方法:HelloWord(),其实现如下:
[WebMethod]
public string HelloWorld() {
return "Hello World";
}
1.添加WEB引用
在VS2005中新建一个Windows应用程序项目,取名TestWebService,在项目中添加一个WEB引用,可在“解决方案资源管理器”的项目名上点右键添加,在弹出对话框中的URL输入框中输入WEB服务器的路径:如http://你的域名/web服务务路径/service.asmx(http://localhost/WebService/Service.asmx),点击“前行”按钮后会搜索这个服务,并在右边报告找到的服务,并在左边显示service.asmx页面,我们在WEB引用名输入框中输入一个名字,这个将做为程序中WEB服务的命名空间名,这里我们取名MyWebService。
2.添加按钮单击事件
在Form中拖出一个Button按钮,双击单击事件处理方法,代码如下:
private void button1_Click(object sender, EventArgs e)
{
MyWebService.Service ws = new TestWebService.MyWebService.Service();
MessageBox.Show(ws.HelloWorld());
}
其中mywebservice.Service ws = new testwebservice.mywebservice.Service()是实例化一个WEB服务对象,ws.HelloWorld()是调用WEB服务中的这个HelloWorld方法,其返回字符串将用MessageBox.Show()函数显示出来。
好了,最简单的一个调用WEB服务API的WinForm例子已经完成了,编译运行,单击按钮,将会弹出对话框显示“Hello World”信息。
重要的一点,在.net的WEB服务API中,除了一般的数据类型外,还可以返回结构和DataSet对象,有了这一点,就可以构建我们大多数的数据库应用了。
在WINFORM中我们将添加一个按钮,添加单击事件,在事件处理函数中弹出一个对话框显示HelloWord的结果。
你可以在这里修改自己的命名空间,加入自己的方法,但本文只是为了说明如何创建和发布,所以对Service.cs不做任何更改。