如何隐藏ASP.NET webservice方法?

时间:2011-11-21 13:00:32

标签: asp.net web-services iis-7 asmx

我们在单个.asmx URL上运行这些SOAP方法。但我们想隐藏给定用户的一些方法。我们有2个用户,每个用户都不应该看到另一个用户使用的方法。

我认为我们需要将不同网址中的方法分开,但可能还不够。我们应该使用单独的项目?是否有允许我们轻松完成的ASP.NET或IIS功能?

2 个答案:

答案 0 :(得分:1)

不幸的是,你无法隐藏Web方法。将公开标有WebServiceAttribute属性的Webservice公共方法。

答案 1 :(得分:0)

  

要隐藏网络方法,也许有一个workround可以帮助你:

     

构建一个ashx文件,在服务器端调用webservice,然后访问它   ashx文件通过使用从客户端检索结果   XMLHttpRequest的。 ashx页面是访问Web服务的代理页面   并从Web方法获取结果。客户端可以使用XMLHttpRequest   从ashx页面获取结果。有了这个appraoch,客户端   无法知道Web方法是什么,只知道ashx url

Source: ASP.NET Forum - Vince Xu