VS2008实现简单的WebService
来源:互联网 发布:易语言直播源码 编辑:程序博客网 时间:2024/05/19 01:14
【本文内容整理自网络、书籍及本人实践】
关于WebService,其实了解并不深刻,只是临时赶鸭子上架,故实现的功能比较简单。总的说来,WebService可以让程序使用远程的Web服务。WebService在应用层使用SOAP协议(不确定是不是全部)。.NET的编程中,只需编写Web服务的处理部分和调用部分,而细节部分由.NET完成。.NET负责实现序列化,也负责信息的来回传递。但当客户端和服务器不得不使用静态代码来遵循同一协议时,就需要用到哪些复杂的SOAP编码惯例了[此句不懂]。在本文中并不涉及到SOAP的操作。
1.创建Web服务
在VS中创建一个ASP.NET Web服务应用程序(C#语言)。IDE会自动生成一个asmx(代码在asmx.cs),里面有一个WebService的子类,并实现了一个成员函数HelloWorld()
namespace WebService{ /// <summary> /// Service1 的摘要说明 /// </summary> [WebService(Namespace = "http://tempuri.org/")] [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)] [ToolboxItem(false)] // 若要允许使用 ASP.NET AJAX 从脚本中调用此 Web 服务,请取消对下行的注释。 // [System.Web.Script.Services.ScriptService] public class Service1 : System.Web.Services.WebService { [WebMethod] public string HelloWorld() { return "Hello World"; } }}WebService函数需要由[WebMethod]声明。[WebMethod]可以添加四个属性,详见链接。当然你可以自己创建一个Web服务,只需添加-新建项-Web服务即可。
除了HelloWorld之外,为Service1再添加一个函数Add
[WebMethod] public string Add(int a,int b) { return (a + b).ToString(); }然后按Ctrl+F5不调试直接运行,浏览器出现如下界面,点击函数名可进行测试。
2 引用服务
2.1 创建客户端
在解决方案中添加一个叫Test的Windows 窗体应用程序,将Test设为启动项目。在其窗口添加四个按钮(为简单起见,都不改名,我承认我比较懒好吧)。分别双击按钮,IDE会自动添加响应函数。
2.2使用“添加Web引用”
“添加服务引用”和“添加Web引用”相比,“添加Web引用”将基于.NET FrameWork 2.0 生成代码。
在VS2005中可按 项目-添加Web引用 操作
在VS2008中可按 项目-添加服务引用-高级-添加Web引用最终可进入到如下界面。
填入要引用的ASMX文件的URL。点击前往,不论是引用服务器上或本机的文件,都需要保证所使用的端口开放运行着。比如要引用前面定义的Service1.asmx,只需在VS中运行Service1.asmx文件,任务栏会出现一个ASP .NET Development Server,不要停止该进程即可。然后点击此解决方案中的Web服务(因为我创建的Web服务项目和窗口应用程序在同一个解决方案中),选择要引用的服务,此处是Service1,然后修改Web引用名(本文填localhost),点击添加引用即可。
添加成功后,在解决方案资源管理器,Test项目下会多出一个Web References的文件夹,里面有localhost。
将button1和button2的响应函数改成下面这样
private void button1_Click(object sender, EventArgs e) { localhost.Service1 s = new localhost.Service1(); button1.Text = s.HelloWorld(); } private void button2_Click(object sender, EventArgs e) { localhost.Service1 s = new localhost.Service1(); button2.Text = s.Add(2, 4); }运行Test,点击button1,button1文本变为hello world,点击button2,button2文本变为6
2.3 使用添加服务引用
VS2005中似乎没有此项功能,VS2008 按 项目-添加服务引用,出现类似“添加Web引用”的对话框。
和“添加Web引用”一样,填入asmx文件URL或点“发现”找到解决方案中的服务,修改命名空间,本文填SR,点击“确定”,添加成功后,Test项目下多出一个Service References文件夹,里面有SR。
将button3和button4的响应函数改成下面这样private void button3_Click(object sender, EventArgs e) { SR.Service1SoapClient ssc = new Test.SR.Service1SoapClient(); button3.Text = ssc.HelloWorld(); } private void button4_Click(object sender, EventArgs e) { SR.Service1SoapClient ssc = new Test.SR.Service1SoapClient(); button4.Text = ssc.Add(7, 8); }运行Test,点击button3,button3文本变为hello world,点击button4,button2文本变为15
3 小结
本文整理了在VS中实现简单的WebService功能。但只是粗浅的皮毛,还需要学习很多东西。
比如“添加Web引用”和“添加服务引用”除了代码所基于的框架不同之外,有什么实质性区别?
- VS2008实现简单的WebService
- WebService的简单实现
- 简单的WebService实现
- 简单的Webservice实现
- WebService的简单实现
- C#最简单最完整的webservice实例 VS2008
- 简单的WebService实现- cxf
- VS2008中消息的简单实现
- >>>Weblogic8.1下Webservice的简单实现<<<<
- 一个WebService+Ejb 3.0的简单实现
- webService 使用CXF 实现简单的helloworld
- axis+tomcat实现简单的webservice
- Jersey 极致简单的Restful WebService实现
- webservice简单详细的实现方法
- 纯java实现简单的webservice方式
- php中四种webservice实现的简单方法
- 简单的Jax-WS WebService实现
- 简单的Jax-WS WebService实现
- java class 文件结构 — 从一个简单接口去理解
- 第五次实验报告
- 辗转除法求模
- 多线程4:内置锁的重入性
- 面向对象设计的5个原则
- VS2008实现简单的WebService
- Const,Const函数,Const变量,函数后面的Const
- windbg调试命令4(用户层.dump)
- Jquery基本选择器 层次选择器 过滤选择器 表单选择器使用示例 带注释
- 神经网络的应用领域及常用神经网络软件
- ACE_Message_Block实现浅析(转)
- C语言 打印文件名,行号,函数名
- 优秀的快速开发平台
- 使用UTL_FILE类进行导出多个文件