C# winform 如何添加 引用webservices

C# winform 如何添加 引用webservices,第1张

如果是用vs2005+开发的,可以在项目的“引用”那里右键->“添加服务引用”->然后把你的WebService的URL填进去,点“前往”,OK! 如果是同一个解决方案下的WebService,可以点“发现”,IDE会自动搜索本地Webservice,并自动添加。

webService是指在网络环境里发布可用组件的方式,关于如何定位组件的位置和功能部分,原理是靠内置的XML文件来确定。你说的动态地址,是指为了防止别人攻击webservice组件服务器而定制的方式,同时也是为了隐藏组件的实际地址而设定的,这个其实可以通过动态域名来实现,也就是说可以用域名指向,在域名向地址转换的过程中,可以动态地址,这样就无法知道实际的地址所在了,加强了保密性。

关于如何配置和读取webService,首先你需要建立一个webservice,然后在服务器上发布,你再用一个电脑作为域名服务器,你在客户端电脑上,调用指向域名的时候,他会自动列出已经发布可以的webService,然后你引用就可以了。大概的格式就是 域名+组件封装名+组件名称

引用后就和调用本地的组件一样使用,很方便的。实际的逻辑部分是指远程的webservice服务器上。

不需要动app.config,程序自己会自动导入,其实是用wsdl文件导向的,如果你引用的webservice的ip地址或者域名换了,那就需要重新导入了。

一、创建和发布Web

Service

Web服务方法中可以返回一个DataSet对象

WEB服务可以说是下一代WEB应用程序的基础,无论客户端是WINDOWS应用、ASP.NET Web

Form程序、甚至其他语言的客户端,都可以与同一个WEB服务通信,其平台和语言无关性使其有了广阔的发展空间。

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

SERVICE,因为其中有几个细节需要注意,所在初学者常常在这里出现问题,现通过一个简单的例子说明如何创建和发布一个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.发布网站

也是简单,“生成”-“发布网站”,这里会d出一个对话框,什么也不需要修改,记下发布的目录。比如:D:/我的文档/Visual Studio

2005/Projects/WebSite1/PrecompiledWeb/WebSite1,我们需要目录下的文件。

4.配置IIS

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

到这时,已经大功告成,你可以通过访问http://域名/webservice/Service.asmx来验证。页面会出现如下图所示内容:

注意:除了需要在IIS中对服务目录创建程序外,还要注意防火墙或杀毒软件的设置,我在首次访问service.asmx文件时,杀毒软件报告w3wp.exe在系统文件夹中生成asp_code.dll等,应该允许其他创建,否则会无法访问。

通过这样简单的方法,你可以轻松建立自己的WEB服务,在同一站点还可以有多个WEB服务。

二、c#的winform中调用Web Service

API(VB6.0也可以调用该web服务)

现在以C# WinForm为例谈谈如何使用它

,在服务中我们只有一个自动生成的方法:HelloWord(),其实现如下:

[WebMethod]

public string HelloWorld(){

return "Hello

World"

}

在WINFORM中我们将添加一个按钮,添加单击事件,在事件处理函数中d出一个对话框显示HelloWord的结果。

1.添加WEB引用

在VS2005中新建一个Windows应用程序项目,取名testwebservice,在项目中添加一个WEB引用,可在“解决方案资源管理器”的项目名上点右键添加,在d出对话框中的URL输入框中输入WEB服务器的路径:如http://你的域名/web服务务路径/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例子已经完成了,编译运行,单击按钮,将会d出对话框显示“Hello World”信息。

重要的一点,在.net的WEB服务API中,除了一般的数据类型外,还可以返回结构和DataSet对象,有了这一点,就可以构建我们大多数的数据库应用了。

好了,接下来的工作就是在WEB服务中添加你的API完成你的工作了。

转载仅供参考,版权属于原作者。祝你愉快,满意请采纳哦


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/11431305.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-16
下一篇 2023-05-16

发表评论

登录后才能评论

评论列表(0条)

保存