导航

C# WebService发布与调用浅析《转》

Posted on 2009-12-01 10:28  kingwangzhen  阅读(553)  评论(0编辑  收藏  举报

Web Service是可操作的分布式应用程序。它以SOAP作为基本通信协议,使用HTTP和XML进行可以穿越防火墙的自由通信。

错误提示:

* 出现 访问 IIS 元数据库失败

* iis 无法显示XML

解决:开始->程序->Microsoft Visual Studio 2005->Visual StudioTools中打开命令行,输入命令: aspnet_regiis -i 这样就会重新注册.net

另还需在虚拟目录上打开属性对话框,点击ASP.NET属性页在“Asp.net version”项选择相应的Asp.net版本(1.1或者2.0)

* 无权限问题

因为我们现在用的都是NTFS格式的硬盘,把Everyone用户选择上或者在IIS中把允许匿名访问勾上

* 把Window系统集成用户去掉勾选

1.首先添加新项---Web服务---*.asmx

同时在App_Code文件夹下增加了一个*.cs文件

  1. WebMethod]  
  2. public string[] GetHotSearchByKeywords  
  3. (string keyword)   
  4. {  
  5. return SearchKeywordManager.GetHotSearchByKeywords  
  6. (keyword);  
  7. }  
  8. [WebMethod]是Web Service为我们提供的特性,  
  9. 它表示下面的方法是 Web 方法,允许Web使用SOAP调用该方法  
  10. 一个Web Service文件中可以有多个[WebMethod],  
  11. 一个[WebMethod]只能对它下面的方法有效  

写完以后,可以直接打开这个文件进行测试,成功后,即可发布

2.C# webService发布

C# webService发布网站---创建虚拟目录---浏览WebService页面---测试WebService方法

在发布的时候有可能会出现一点小问题,上面是出错的状况

打开WebService的那个网址,就是要发布的WebService的URL

3.C# WebService调用

添加Web引用---实例化WebService类---执行WebService方法

WebService可能在本项目、非本项目、甚至在异地被调用

*添加WebService引用

*在URL处填写发布的WebService网址,单击前往,就会看到我们发布的WebService方法

*可以改一下WebService的引用名

C# WebService调用这个方法

引用名.类名s=new引用名.类名();

*添加完引用后,同时会看到App_WebReferences文件夹下已经添加了WebService的相关文件

*.disco

*.discomap

*.wsdl