写在前面
在编写好webservice后,发布到iis服务器,你会发现会有这样的异常“测试窗体只能用于来自本地计算机的请求”。
解决方案
在web.config中添加以下代码即可解决问题
1 <webServices> 2 3 <protocols> 4 5 <add name="HttpSoap"/> 6 7 <add name="HttpPost"/> 8 9 <add name="HttpGet"/> 10 11 <add name="Documentation"/> 12 13 </protocols> 14 15 </webServices>
以下说明来自MSDN:
protocols 元素指定 ASP.NET Web 服务可用来接收从客户端发送来的请求数据和返回响应数据的协议。协议可用来将请求数据与方法及其参数关联起来,将响应数据与方法及其返回值关联起来。默认情况下,仅启用 HttpSoap 和 Documentation。若要使用 HttpPost 和 HttpGet,需要按照上面的示例所显示的那样启用它们。
protocols 的子元素有(add,clear,remove)
add--添加 ASP.NET Web 服务可用来接收从客户端发送来的请求数据和返回响应数据的指定协议。默认情况下,仅启用 HttpSoap 和 Documentation。
clear--从配置文件的范围内移除所有的协议。
remove--从配置文件的范围内移除用来处理请求和响应数据的指定协议。