在C#.NET MVC模式中订阅事件



我的项目使用DevExpressDashboardMVC Control

我需要从服务器端订阅控件支持的一些事件。目前我正在MVC Controller中订阅它们。

这是放置Event Handling代码的最佳位置吗?是否需要取消订阅这些事件以避免内存泄漏?

public class HomeController : Controller
{
public ActionResult Index(string mode)
{
//Some code commented
DashboardConfigurator.Default.CustomFilterExpression += MvcDashboard_CustomFilterExpression;          
DashboardConfigurator.Default.CustomParameters += (sender, eventArgs) =>{
//Event specific code
}; 
return View();
}
public void MvcDashboard_CustomFilterExpression(object sender, CustomFilterExpressionWebEventArgs e)
{
// Event specific code
}
}

DevExpress建议在Global.asax.cs 中的Application_Start方法中定义

我们建议在Global.asax.cs文件中的Application_Start方法或DashboardConfig.cs文件中的RegisterService方法中指定默认控制器的设置。步骤9中的代码片段。"创建ASP.NET MVC控制面板应用程序"主题的"创建控制面板存储"部分演示了这种方法。