ASMX Web 服务 - 测试表单仅适用于来自本地计算机的请求

问题描述 投票:0回答:2

我有一个具有两个功能的 ASMX Web 服务。一个函数将 JSON 对象发送到服务器并将其存储在文件中,而另一个函数从服务器检索 JSON 对象。该网络服务在本地运行良好,但是当我在远程服务器中尝试它时,我收到众所周知的“测试表单仅适用于来自本地计算机的请求”错误。

根据不同论坛的建议,我已将协议添加到我的 web.config 文件中:

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

添加 POST 协议使得第二个功能(检索对象的功能)可以从远程使用,但第一个功能仍然只能从本地计算机使用。

我一直无法找到这个问题的解决方案,因为我找到的每个解决方案都只是在 web.config 文件中添加协议,这仅适用于这两个功能之一。

有一个问题似乎有类似的问题,是由于使用 DateTime 类型作为输入参数引起的。就我而言,也许它与使用“对象”类型作为函数的输入有关?如果我不能使用对象类型,我有什么替代方案?

任何建议都会有帮助。

谢谢您并致以诚挚的问候,

c# json web-services asmx
2个回答
0
投票

我也有同样的问题。添加 ws 协议后,VS 2012 没有将 web.config 发布到我发布的源中。当我手动复制文件时它起作用了。


0
投票

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

© www.soinside.com 2019 - 2024. All rights reserved.