您的位置:首页 > 其它

使用vs2005 webservice 创建,部署,调用的简单实例

2009-10-27 14:38 911 查看
初学 webservice 。通过参考其他文章,自己也做个简单的测试例子。现把webservice 新建 部署 调用的步骤记录下来。 供交流学习。

使用vs2005 webservice 创建,部署,调用的简单实例

1 创建web服务

打开“文件”->“新建”->“网站”,在对话框中选择“ASP.NET Web服务”。

(我在用vs2005执行以上步骤的时候,打开的对话框的模板中默认显示的模板没有“ASP.NET Web服务”。

这时候,在对话框底部的语言选项中。点开,可以看到有2个 'VIsual c#' 的选择项,选择下面的 'VIsual c#',然后,模板中就会出现“ASP.NET Web服务”的模板)

修改项目名称:WebServiveTest 。 “确定”

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";

}

}

2.生成网站

“生成”->“生成网站”

或直接Shift+F6

3.发布网站

“生成”->“发布网站”,会弹出一个对话框,什么也不需要修改,记下发布的目录。

或者修改为你自己网站目录。这里我修改的目录:E:/vs2005/WebServiveTest 。

4.配置IIS

之前我已经在iis中配置了一个虚拟站点,名称为:vs2005,其文件位置就是E:/vs2005/ 。

所以。我只要修改一下配置即可。

打开“Internet 信息服务(IIS)管理器”,点开vs2005站点。目录下可以看到刚才发布的文件目录‘WebServiveTest’。

在‘WebServiveTest’目录上,‘右键’-‘属性’-‘目录’ 在应用程序名后点击“添加” 然后确定即可

在你的WEB目录下一个文件夹,比如WebService,并将第3步发布目录中的所有文件和目录拷贝到这个目录中,打开IIS,找到你的站点,在这个WebService目录上点右键,选择属性,在弹出对话框的“目录”选择项卡中点击“创建”按钮,然后确定即可

这时,‘WebServiveTest’目录前的图片会变,不在是文件夹的图标。然后,找到其目录下的 Service.asmx文件,’右键‘-’浏览‘。

通过浏览器来验证。

/Service.asmx 页面会出现以下内容,简略写

-------------------------------------------------------------------------------

Service

支持下列操作。有关正式定义,请查看服务说明。

HelloWorld

此 Web 服务使用 http://tempuri.org/ 作为默认命名空间。

建议: 公开 XML Web services 之前,请更改默认命名空间。

每个 XML Web services 都需要一个唯一的命名空间,以便客户端应用程序能够将它与 Web 上的其他服务区分开。http://tempuri.org/ 可用于处于开发阶段的 XML Web services,而已发布的 XML Web services 应使用更为永久的命名空间。
应使用您控制的命名空间来标识 XML Web services。例如,可以使用公司的 Internet 域名作为命名空间的一部分。尽管有许多 XML Web services 命名空间看似 URL,但它们不必指向 Web 上的实际资源。(XML Web services 命名空间为 URI。)
使用 ASP.NET 创建 XML Web services 时,可以使用 WebService 特性的 Namespace 属性更改默认命名空间。WebService 特性适用于包含 XML Web services 方法的类。下面的代码实例将命名空间设置为“http://microsoft.com/webservices/”:
C#
[WebService(Namespace="http://microsoft.com/webservices/")]

public class MyWebService {
// 实现
}

Visual Basic
<WebService(Namespace:="http://microsoft.com/webservices/")> Public Class MyWebService
' 实
End Class

C++
[WebService(Namespace="http://microsoft.com/webservices/")]

public ref class MyWebService {

// 实现

};

-----------------------------------------------------------------------------------------------

点击页面中的 “HelloWorld” ,再点击“调用”按钮。页面以xml格式输出以下内容

<?xml version="1.0" encoding="utf-8" ?>

<string xmlns="http://tempuri.org/">Hello World</string>

这样 一个简单的webservice就建完了、

然后,可以修改 HelloWorld方法法,加入几个参数,例如:

public string HelloWorld(string inStr,int inInt,string inStr2) {

return "Hello World. this is first webService:" + inStr + ",int=" + inInt + "," + inStr2;

}

看看其运行有何变化。

下面开始调用webservice

调用webservice

在VS2005中新建一个Windows应用程序项目,取名TestWebService,在项目中添加一个WEB引用,

可在“解决方案资源管理器”的项目名上点右键添加,在弹出对话框中的URL输入框中输入WEB服务器的路径:

如http://你的域名/web服务务路径 /service.asmx,

点击“前行”按钮后会搜索这个服务,并在右边报告找到的服务,

并在左边显示service.asmx页面,我们在WEB引用名输入框中输入一个名字,

这个将做为程序中WEB服务的命名空间名,这里我们取名MyWebService。

添加按钮单击事件

在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()函数显示出来。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: