【发布时间】:2012-07-21 17:35:20
【问题描述】:
我在 C# ASP.NET Web 应用程序中有几个 WebMethod。我想改变他们所有人的行为来验证每个请求。想象一下下面的代码:
[WebMethod]
public static void DoSomething()
{
if (ValidateRequest())
{
HttpContext.Current.Response.StatusCode = 400;
// do some other stuff
return;
}
// rest of method
}
我当然注意到 ValidateRequest() 方法调用在我的大部分 WebMethods 中都很常见。无论如何我可以将其连接起来,以便所有 WebMethods 自动具有相同的行为吗?我可以在方法中添加第二个属性来完成这个吗?
【问题讨论】:
-
你是如何在静态页面方法中访问 HttpContext 的?
-
ValidateRequest 是做什么的?值得将其代码添加到您的帖子中。
-
如果您使用的是 MVC / WebApi,使用操作过滤器将非常容易。
-
你能在 Global.asax 的 Application_BeginRequest 中找到它吗?