我有一个带有两个功能的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类型,我还有哪些替代方法?
任何建议都会有所帮助。
谢谢你,最诚挚的问候,
答案 0 :(得分:0)
我有同样的问题。在添加ws协议后,VS 2012没有将web.config发布到我发布的源代码。它在我手动复制文件时起作用。
答案 1 :(得分:0)
这可能发生的另一个原因是您的参数是更复杂的对象,包括GUID
之类的东西