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文件
[WebMethod]
public string[] GetHotSearchByKeywords(string keyword)
{
return SearchKeywordManager.GetHotSearchByKeywords(keyword);
}
[WebMethod]是Web Service为我们提供的特性,它表示下面的方法是 Web 方法,允许Web使用SOAP调用该方法
一个Web Service文件中可以有多个[WebMethod],一个[WebMethod]只能对它下面的方法有效
写完以后,可以直接打开这个文件进行测试,成功后,即可发布
2. 发布Web Service
发布网站---创建虚拟目录---浏览Web Service页面---测试WebService方法
在发布的时候有可能会出现一点小问题,上面是出错的状况
打开Web Service的那个网址,就是要发布的WebService的URL
3. 调用Web Service
添加Web引用---实例化Web Service类---执行WebService方法
WebService 可能在本项目、非本项目、甚至在异地被调用
* 添加Web Service引用
* 在URL处填写发布的Web Service网址,单击前往,就会看到我们发布的WebService方法
* 可以改一下Web Service的引用名
调用这个方法
引用名.类名 s = new 引用名.类名();
* 添加完引用后,同时会看到App_WebReferences文件夹下已经添加了Web Service的相关文件
*.disco
*.discomap
*.wsdl
![](https://img2024.cnblogs.com/blog/35695/202408/35695-20240826070647288-243310440.jpg)