最终,我试图在处理请求之前获取对将处理请求的 webmethod 的引用,以检查其自定义属性。
目前,我通过将请求路径附加到项目命名空间、删除 .asmx 扩展名并用点替换斜杠来使其工作。但是,这假定类命名空间层次结构与请求路径层次结构相匹配,并且没有理由这样做。
缺少打开文件并对其进行解析 - 有没有一种方法可以给定 asmx 文件的请求路径,我可以检索对其中的类类型或类类型名称的引用?
对.NET 来说很新,所以我正在做的事情可能很愚蠢。但无论哪种方式,我都会对答案感兴趣:)
编辑:这不是我的项目,它被锁定在使用 ASP.NET 3.5 和 asmx webservices
编辑:目的是能够防止未经身份验证的用户执行某些 Web 服务,而无需向每个 Web 方法添加身份验证代码。我的想法是在 webmethods 上使用自定义属性将它们标记为公共,并且只有那些将被自定义 HTTP 模块或处理程序允许由未经身份验证的用户执行。用户的类型存储在会话中。