如何有条件地隐藏网络方法?如果web.config中的标志设置为false,我不想公开Web方法。如果是,那么我将公开web方法。
含义:只有当标志为真时,该方法才应对客户端可见,否则它不应该对客户端可用。
这在C#中是否可行?
答案 0 :(得分:2)
您可以检查方法中的标志,如果未设置则抛出异常。
答案 1 :(得分:1)
你真的不能这样做。
您的客户“看到”Web方法,因为它们列在WSDL中。 WSDL生成是相当静态的 - 它基于方法的[WebMethod]属性。实际上没有能力从生成的WSDL中删除项目。
如果你可以切换到WCF,你会发现这么多,更容易。与此同时,您只需使用授权 - 阻止某些客户端调用某些方法。