我创建.NET中的Web服务等服务文件的地址,有一个关于它如何工作的一个漂亮的自动生成的解释。 当我从它在它举办了机器运行的页面,甚至有我可以用它来提交测试值,以服务的形式。 然而在远程机器上它隐藏的形式,并且如上面看到给出了消息。
是否有一个点呢? 我见过的其他网站称之为“更安全”,但任何人都可以创建自己的形式很容易使这个无非就是讨厌,如果你问我。
我创建.NET中的Web服务等服务文件的地址,有一个关于它如何工作的一个漂亮的自动生成的解释。 当我从它在它举办了机器运行的页面,甚至有我可以用它来提交测试值,以服务的形式。 然而在远程机器上它隐藏的形式,并且如上面看到给出了消息。
是否有一个点呢? 我见过的其他网站称之为“更安全”,但任何人都可以创建自己的形式很容易使这个无非就是讨厌,如果你问我。
如果要发布的元数据,这是一个公开/不安全的Web服务,你是正确的,这将是很容易对任何人产生一个简单的客户在你的web服务锤离开。 在这种情况下,只有在本地机器上生成的Web客户端似乎像一个滋扰。
如果您的服务是私人和安全,但是,这将是一个巨大的安全漏洞,给别人用服务器的名称和服务认证的客户机使用的潜在访问您的数据,并做各种危害。
我想只在服务器上生成ASMX Web服务的UI的政策本身是企图提供一些不错的工具,同时消除了意外的安全漏洞。 WCF已经在任何情况下,废除了这一点,你可以生成客户端只有在元数据的发布,他们需要实现以访问服务的正确的安全性。
您可以解决这个问题,通过修改web.config
包括这些节点:
<configuration>
<system.web>
<webServices>
<protocols>
<add name="HttpGet"/>
<add name="HttpPost"/>
</protocols>
</webServices>
</system.web>
</configuration>
这将允许您通过浏览器访问的.asmx Web服务。 然后,您可以调用Web服务,您的浏览器,传递参数,并查看结果。
仅供参考我使用.NET 4.0和有同样的问题。
不过我用...
<add name="HttpSoap12"/>
<add name="HttpSoap"/>
<add name="HttpGet"/>
<add name="HttpPost"/>
在上述领域,它的工作。 但只有HttpGet
和HttpPost
它没有。
HTTP GET和HTTP POST默认情况下禁用