【问题标题】:MVC Style Filters on ASMX Web Services, is it possible?ASMX Web 服务上的 MVC 样式过滤器,可能吗?
【发布时间】:2009-10-02 07:52:42
【问题描述】:

是否可以创建适用于 ASMX Web 服务的 MVC 样式过滤器属性(如 Authorize 或 HandleError)?

具体来说,我对我的一些 web 方法执行自定义身份验证,并希望将代码包装到一个引发异常的属性中,如果身份验证检查失败。

丰富

【问题讨论】:

    标签: asp.net-mvc web-services attributes filter asmx


    【解决方案1】:

    由于 ASMX 也是 ASP.NET 管道的服务器,因此您可以只使用 HttpModules,它可以让您对输入和输出进行大量控制。

    这是一个参考和一个例子: http://msdn.microsoft.com/en-us/library/aa719858(VS.71).aspx

    如果你想让它非常“类似于 MVC”,那么你可以编写一个自定义的 http 模块来检查 web 服务的属性,例如 [Authorize] 等。由于 ASP.NET MVC 是开源的,你可以只使用部分作为他们如何检查属性等的参考,然后将其构建到您的 HTTPModule 中。

    HTH 亚历克斯

    【讨论】:

    • 你确定吗?至少,某些事件不会为 Web 服务触发。例如,您不能将HttpModule 用于 Web 服务中的全局异常处理。
    【解决方案2】:

    你可以模仿一些效果。请记住,ASMX Web 服务只包装任何公共方法,您可以使用 PrincipalPermissionAttribute 之类的东西来保护您的服务。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-11-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-06-20
      相关资源
      最近更新 更多