.NET Framework 1.1中请求被拒绝的解决办法
来源:互联网 发布:java读取xlsx文件 编辑:程序博客网 时间:2024/05/21 10:32
.NET Framework 1.1中请求被拒绝的解决办法
===========================================================
http://support.microsoft.com/default.aspx?scid=kb;zh-cn;819267
概要
本文讨论 .NET Framework 1.1 中影响 Web 服务器上的 HTTP GET 方法和 HTTP POST 方法的变更。本文还针对这一新功能提供了解决方法。
更多信息
连接 .NET 的 Web 服务支持 HTTP GET、HTTP POST 和 SOAP 协议。在 .NET Framework 1.0 中,默认情况下所有这三种协议都会被启用。但在 .NET Framework 1.1 中,默认情况下 HTTP GET 和 HTTP POST 同时被禁用。这是出于安全方面的考虑。
当 Web 服务升级到 .NET Framework 1.1 后,应用程序使用 HTTP GET 或 HTTP POST 调用 Web 服务时会失败。这些应用程序会收到以下一条错误信息
当 Web 服务升级到 .NET Framework 1.1 后,应用程序使用 HTTP GET 或 HTTP POST 调用 Web 服务时会失败。这些应用程序会收到以下一条错误信息
System.Net.WebException
指出无法识别请求格式。
请注意,基于 HTML 的测试窗体使用 HTTP POST,因此,基于 HTML 的测试窗体在 .NET Framework 1.1 中不适用。除非该窗体在下面提到的本地主机上,否则情况都是如此。
.NET Framework 1.1 定义了一个名为 HttpPostLocalhost 的新协议。默认情况下,这个新协议处于启用状态。该协议允许从与使用 HTTP POST 请求的 Web 服务位于同一计算机上的应用程序调用该服务。允许的前提条件是:POST URL 使用 http://localhost,而不是 http://hostname。这使得 Web 服务开发人员可以使用基于 HTML 的测试窗体,从 Web 服务所在的同一计算机调用该 Web 服务。
当您尝试从远程计算机访问 Web 服务时,不会显示“调用”按钮。并且,您会收到以下错误信息:
请注意,基于 HTML 的测试窗体使用 HTTP POST,因此,基于 HTML 的测试窗体在 .NET Framework 1.1 中不适用。除非该窗体在下面提到的本地主机上,否则情况都是如此。
.NET Framework 1.1 定义了一个名为 HttpPostLocalhost 的新协议。默认情况下,这个新协议处于启用状态。该协议允许从与使用 HTTP POST 请求的 Web 服务位于同一计算机上的应用程序调用该服务。允许的前提条件是:POST URL 使用 http://localhost,而不是 http://hostname。这使得 Web 服务开发人员可以使用基于 HTML 的测试窗体,从 Web 服务所在的同一计算机调用该 Web 服务。
当您尝试从远程计算机访问 Web 服务时,不会显示“调用”按钮。并且,您会收到以下错误信息:
The test form is only available for requests from the local machine
替代方法
通过编辑 Web 服务所在的 vroot 的 Web.config 文件,可以启用 HTTP GET 和 HTTP POST。以下配置同时启用了 HTTP GET 和 HTTP POST:<configuration>
<system.web>
<webServices>
<protocols>
<add name="HttpGet"/>
<add name="HttpPost"/>
</protocols>
</webServices>
</system.web>
</configuration>
<system.web>
<webServices>
<protocols>
<add name="HttpGet"/>
<add name="HttpPost"/>
</protocols>
</webServices>
</system.web>
</configuration>
或者,可以通过编辑 Machine.config 中的 <protocols> 节为计算机上的所有 Web 服务启用这些协议。下面的示例启用了 HTTP GET、HTTP POST 及 SOAP,此外还从本地主机启用了 HTTP POST:
<protocols>
<add name="HttpSoap"/>
<add name="HttpPost"/>
<add name="HttpGet"/>
<add name="HttpPostLocalhost"/>
<!-- Documentation enables the documentation/test pages -->
<add name="Documentation"/>
</protocols>
<add name="HttpSoap"/>
<add name="HttpPost"/>
<add name="HttpGet"/>
<add name="HttpPostLocalhost"/>
<!-- Documentation enables the documentation/test pages -->
<add name="Documentation"/>
</protocols>
- .NET Framework 1.1中请求被拒绝的解决办法
- .NET Framework 1.1中请求被拒绝的解决办法
- CS0016: 未能写入输出文件“c:/WINDOWS/Microsoft.NET/Framework/.........dll”拒绝访问 的解决办法
- Asp.net "对路径的访问被拒绝" 解决办法
- Asp.net "对路径的访问被拒绝" 解决办法
- [ASP.NET]"对路径的访问被拒绝" 解决办法 .
- [ASP.NET]"对路径的访问被拒绝" 解决办法
- iis7 HTTP 错误 404.13 - Not Found 请求筛选模块被配置为拒绝超过请求内容长度的请求。解决办法
- Discuz!您当前的访问请求当中含有非法字符,已经被系统拒绝解决办法
- 请求筛选模块被配置为拒绝包含双重转义序列的请求。---该问题的解决办法之一
- 对路径“C:/WINDOWS/Microsoft.NET/Framework/v1.1.4322/Temporary ASP.NET Files/aa/……”的访问被拒绝
- Asp.net "对路径的访问被拒绝" 解决办法(不是文件的一部分)
- net use 拒绝访问 解决办法
- ASP.NET运行时错误“ 分析器错误信息: 访问被拒绝 ”的解决办法
- ASP.NET 请求筛选模块被配置为拒绝包含双重转义序列的请求。HTTP 错误 404.11 - Not Found
- 命令 “net time //远程机名” 访问拒绝的解决办法
- asp.net 未能写入输出文件--“拒绝访问的解决办法
- ASP.NET 未能写入输出文件“--“拒绝访问的解决办法
- 也时尚一把,弄个blog
- java通过修改类的字节码实现aop功能
- 用C#获取系统内存
- 转帖]对计算机科学的反思
- 计算机科学漫谈--转载
- .NET Framework 1.1中请求被拒绝的解决办法
- 用.NET 2.0压缩/解压功能处理大型数据
- C#: Excel导出
- c#: 打包并自动安装SQL数据库
- c# : 无刷新取得远程数据
- 姚期智:锻造计算机科学拔尖人才--转载
- c#: 向后台发送消息
- 自定义应用程序主题或皮肤(by vb.net 2005)
- [ASP.NET] Session 详解