1

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

正如不同论坛中所建议的那样,我已将协议添加到我的 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 类型作为输入参数引起。就我而言,也许它与使用“对象”类型作为函数的输入有关?如果我不能使用 Object 类型,我有什么选择?

任何建议都会有所帮助。

感谢你并致以真诚的问候,

4

2 回答 2

0

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

于 2013-10-08T17:05:30.220 回答
0

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

于 2018-05-14T15:18:05.313 回答