zoukankan      html  css  js  c++  java
  • Asp.Net 之 WebService部署到服务器后出现" The test form is only available for requests from the local machine "

      最近由于任务需要开发了一个WebService, 部署到服务器以后,出现上述问题,网上查找到如下解决方案:

      问题原因:

      从 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.

      解决方法:

      1、通过编辑 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>

      2、通过编辑 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>
  • 相关阅读:
    codeforces 940E 思维,dp
    codeforces 469D 2-SAT
    Codeforces 937D dfs
    Educational Codeforces Round 39 (Rated for Div. 2) D dp E 贪心
    Codeforces Round #469 (Div. 2) D 数学递归 E SCC缩点
    Wannafly挑战赛11 D 白兔的字符串 Hash
    Codeforces Round #470 (Div 2) B 数学 C 二分+树状数组 D 字典树
    UVA
    最小生成树(改了两个板子写的)道路建设
    poj1125 基础最短路
  • 原文地址:https://www.cnblogs.com/xinaixia/p/4786993.html
Copyright © 2011-2022 走看看