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

时间:2013-05-23 14:02:32

标签: c# json web-services asmx

我有一个带有两个功能的ASMX Web服务。一个将JSON对象发送到服务器并将其存储在一个文件中,而另一个函数从服务器中检索JSON对象。 webservice在本地完美运行,但是当我在远程服务器上尝试时,我得到了众所周知的“测试表只适用于本地机器的请求”错误。

正如在不同论坛中所建议的那样,我已将协议添加到我的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类型作为输入参数,

There is one question which似乎有类似的问题。在我的情况下,也许它与使用“对象”类型作为函数的输入有关?如果我不能使用Object类型,我还有哪些替代方法?

任何建议都会有所帮助。

谢谢你,最诚挚的问候,

2 个答案:

答案 0 :(得分:0)

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

答案 1 :(得分:0)

这可能发生的另一个原因是您的参数是更复杂的对象,包括GUID

之类的东西