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>
时间: 2024-10-16 19:10:56

Asp.Net 之 WebService部署到服务器后出现" The test form is only available for requests from the local machine "的相关文章

测试webservice的时候,如果出现这个错误:"The test form is only available for requests from the local machine"

测试webservice的时候,如果出现这个错误:"The test form is only available for requests from the local machine" 在web.config中加入以下配置,就可以解决问题. <system.web> <webServices> <protocols> <add name="HttpGet"/> <add name="HttpPost

WinServer 之 发布WebService后调用出现&quot; The test form is only available for requests from the local machine. &quot;

当您尝试从远程计算机访问 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&

webservice部署到服务器报错

System.Net.WebException: 基础连接已经关闭: 发送时发生错误. ---> System.IO.IOException: 从传输流收到意外的 EOF 或 0 个字节. 在 System.Net.FixedSizeReader.ReadPacket(Byte[] buffer, Int32 offset, Int32 count) 在 System.Net.Security.SslState.StartReadFrame(Byte[] buffer, Int32 readBy

程序部署到服务器后非常慢!!!

结论: 1.EF 查询 比ADO慢,甚至直接报告超时错误,原因不详. 2.在原生ADO.Net中 使用 参数化查询 比 直接使用sql拼接  慢几十倍!!! ADO.Net代码测试 public List<v_yjdateggjgModel> SelectList(int yjxzqid, int ncpid, DateTime start, DateTime end) { List<v_yjdateggjgModel> list = new List<v_yjdateggj

Vue3项目打包后部署到服务器,请求不到后台接口的坑

本地开发没问题能正常请求到接口,部署后页面也能展示出来就是接口的数据请求不到 network一看是这么个情况 对比了本地的页面可以发现是remote address出了问题. 经过查询得知Remote Address代表的是当前HTTP请求的远程地址,即HTTP请求的源地址. 我的猜想是proxy代理在本地环境下用的是localhost即127.0.0.1进行转发代理的,而部署到服务器后相当于换了个环境( ip地址和端口已经改变 ),此时proxy代理就出错了. 解决方法: 地址错误了,那就换到

安装VS2017后打开项目提示 asp.net 4.0尚未web服务器注册

Visual Studio 2017 出来了,手痒安装完成后打开原来的项目缺提示,asp.net 4.0尚未web服务器注册.郁闷了- 按照提示的方法,如何:将 ASP.NET Web 应用程序升级到 ASP.NET 4 行不通. 从网上找的,网上查找了,大部分都是用命令提示符已管理员运行:cd C:\WINDOWS\Microsoft.NET\Framework64\v4.0.30319 并运行 aspnet_regiis.exe -i ,回车执行提示:开始安装 ASP.Net (4.0.30

vs自动生成的WebService配置文件在部署到IIs6后,服务调用失败的解决方法

近日,在项目中需要引用java发布的WebService,添加服务引用后,调用一切正常. 配置如下: <system.serviceModel> <bindings> <basicHttpBinding> <binding name="SecurityServiceImplServiceSoapBinding" maxBufferPoolSize="2147483647" maxReceivedMessageSize=&qu

Maven项目热部署,修改代码后不用重启tomcat服务器

只需要在pom.xml文件中添加 1 <build> 2 <finalName>MySSM</finalName> 3 <!-- 指定部署的服务器类型 --> 4 <plugins> 5 <!-- <plugin> <groupId>org.apache.tomcat.maven</groupId> <artifactId>tomcat6-maven-plugin</artifactId

使用delphi+intraweb进行微信开发2—intraweb以.net方式发布(以asp.net mvc4模式部署)在IIS(.net虚拟主机)上

在第一讲使用delphi+intraweb进行微信开发1--微信平台接入中我们编写了一个简单的微信接口程序,这个程序我是用Stand Alone Server / Service 方式编译的程序,并且将端口设置成80进行的微信接口测试,但是实际使用时为了更好的服务器性能我们一般采用iis作为web服务器,以往的情况下iw需要编译成isapi部署在iis上.但是由于自打iis7以后iis对isapi的态度发生了很大变化(推荐使用fastcgi了)导致编译好的isapi很难在iis7.5上部署成功,