C# ASP.NET MVC查询的常规处理程序
我需要为所有ASP.NET MVC查询创建一个通用处理程序。现在我使用应用程序_BeginRequest,但不仅仅是ASP.NET MVC查询C# ASP.NET MVC查询的常规处理程序,c#,.net,asp.net-mvc,C#,.net,Asp.net Mvc,我需要为所有ASP.NET MVC查询创建一个通用处理程序。现在我使用应用程序_BeginRequest,但不仅仅是ASP.NET MVC查询 我看到的一个选项是创建一个公共基本控制器,并在其构造函数中执行我的逻辑。但是可能还有其他选择吗?您考虑过吗?您考虑过吗?您必须将操作过滤器添加到控制器中 为此,您必须创建一个继承自ActionFilterAttribute 例如: Public Class CustomFilterAttribute Inherits ActionFilterAt
我看到的一个选项是创建一个公共基本控制器,并在其构造函数中执行我的逻辑。但是可能还有其他选择吗?您考虑过吗?您考虑过吗?您必须将操作过滤器添加到控制器中 为此,您必须创建一个继承自ActionFilterAttribute 例如:
Public Class CustomFilterAttribute
Inherits ActionFilterAttribute
End Class
而不仅仅是将此属性应用于控制器:
<CustomFilter()> _
Public Class MyController
protected override void Initialize(RequestContext requestContext)
{
Lang = requestContext.RouteData.Values["lang"].ToString()
?? System.Globalization.CultureInfo.CurrentUICulture.TwoLetterISOLanguageName;
ViewData["Lang"] = Lang;
base.Initialize(requestContext);
// your custom logic here...
}
覆盖它们,此代码将在每次请求控制器的方法时执行您必须向控制器添加ActionFilter 为此,您必须创建一个继承自ActionFilterAttribute 例如:
Public Class CustomFilterAttribute
Inherits ActionFilterAttribute
End Class
而不仅仅是将此属性应用于控制器:
<CustomFilter()> _
Public Class MyController
protected override void Initialize(RequestContext requestContext)
{
Lang = requestContext.RouteData.Values["lang"].ToString()
?? System.Globalization.CultureInfo.CurrentUICulture.TwoLetterISOLanguageName;
ViewData["Lang"] = Lang;
base.Initialize(requestContext);
// your custom logic here...
}
覆盖它们,此代码将在每次请求控制器的方法时执行
在基本控制器中,使用这种方法,您可能会发现一些东西:
<CustomFilter()> _
Public Class MyController
protected override void Initialize(RequestContext requestContext)
{
Lang = requestContext.RouteData.Values["lang"].ToString()
?? System.Globalization.CultureInfo.CurrentUICulture.TwoLetterISOLanguageName;
ViewData["Lang"] = Lang;
base.Initialize(requestContext);
// your custom logic here...
}
或在:
protected override void Execute(System.Web.Routing.RequestContext requestContext)
{
base.Execute(requestContext);
// intercepting code here...
}
或:
谁知道提醒你:)idsa
在基本控制器中,使用这种方法,您可能会发现一些东西:
<CustomFilter()> _
Public Class MyController
protected override void Initialize(RequestContext requestContext)
{
Lang = requestContext.RouteData.Values["lang"].ToString()
?? System.Globalization.CultureInfo.CurrentUICulture.TwoLetterISOLanguageName;
ViewData["Lang"] = Lang;
base.Initialize(requestContext);
// your custom logic here...
}
或在:
protected override void Execute(System.Web.Routing.RequestContext requestContext)
{
base.Execute(requestContext);
// intercepting code here...
}
或:
谁知道呢?)一个单一的、多用途的行动?你能解释一下为什么这是必要的吗?我相信你有你的理由,这可能有助于找到一个解决方案,了解问题的真正性质。我需要针对本地化进行某种重定向。所以,如果用户请求的域/路径我想重定向到domain/countrycode/pathidsa,那么您的正确选择是:一种方法是:;通过一个基本控制器。但是,这里有许多事件可以覆盖。只有你的要求才能说明这一点。一个单一的、多用途的行动?你能解释一下为什么这是必要的吗?我相信你有你的理由,这可能有助于找到一个解决方案,了解问题的真正性质。我需要针对本地化进行某种重定向。所以,如果用户请求的域/路径我想重定向到domain/countrycode/pathidsa,那么您的正确选择是:一种方法是:;通过一个基本控制器。但是,这里有许多事件可以覆盖。只有您的要求才能说明这一点。我希望为所有当前和未来的控制器和操作提供真正的全局解决方案,如应用程序_BeginRequest doesmvc3具有全局操作过滤器Redsquare,+1表示全局操作筛选器我更希望为所有当前和未来控制器和操作提供真正的全局解决方案,如应用程序_BeginRequest doesmvc3具有全局操作筛选器Redsquare,+1表示全局操作筛选器