ASMX Webservice——测试表单仅对来自本地机器的请求可用

本文关键字:机器 请求 测试 Webservice 表单 ASMX | 更新日期: 2023-09-27 18:14:57

我有一个带有两个函数的ASMX web服务。一个函数向服务器发送JSON对象并将其存储在文件中,而另一个函数从服务器检索JSON对象。webservice在本地工作得很好,但是当我在远程服务器上尝试时,我得到了众所周知的"测试表单仅适用于来自本地机器的请求"错误。

根据不同论坛的建议,我已将协议添加到我的web。配置文件:

</system.web>
    <webServices>
      <protocols>
        <add name="HttpSoap12"/>
        <add name="HttpSoap"/>
        <add name="HttpGet"/>
        <add name="HttpPost"/>       
      </protocols>
    </webServices>
  </system.web>

添加POST协议使第二个函数(检索对象的函数)可以从远程访问,但第一个函数仍然只能从本地机器访问。

我还没能找到这个问题的解决方案,因为我找到的每一个解决方案都只是在网络中添加协议。配置文件,只适用于两个函数中的一个。

有一个问题,似乎有一个类似的问题,造成使用DateTime类型作为输入参数。在我的情况下,也许它与使用"对象"类型作为函数的输入有关?如果我不能使用Object类型,我有什么替代方案?

任何建议都会有帮助的。

谢谢你,并致以最良好的问候

ASMX Webservice——测试表单仅对来自本地机器的请求可用

我也有同样的问题。VS 2012没有发布web。在我添加了ws协议之后,将配置放到我发布的源代码中。当我手动复制文件时,它工作了。

发生这种情况的另一个原因是您的参数是更复杂的对象,包括guid