【问题标题】:What is the meaning of this code in asp.net mvc? [duplicate]这段代码在asp.net mvc中是什么意思? [复制]
【发布时间】:2015-09-17 16:02:01
【问题描述】:
[assembly: PreApplicationStartMethod(typeof(Mvc.Bootstrap.Datatables.Example.App_Start.RegisterDatatablesModelBinder), "Start")]

namespace Mvc.Bootstrap.Datatables.Example.App_Start
{
    public static class RegisterDatatablesModelBinder {
        public static void Start() {
            ModelBinders.Binders.Add(typeof(DataTablesParam), new NullableDataTablesModelBinder());
        }
    }
}

我在一个 GitHub 项目中发现了这个,谁能告诉我这行是做什么的

[程序集:PreApplicationStartMethod(typeof(Mvc.Bootstrap.Datatables.Example.App_Start.RegisterDatatablesModelBinder), "Start")]

【问题讨论】:

  • 名字表明RegisterDatatablesModelBinder.Start()必须在加载库之后调用,但在使用其中的任何方法之前,可以将一些自身注册为事件监听器或类似的。
  • dailydotnettips.com/2011/08/27/… " Assemblies 支持名为 PreApplicationStartMethod 的自定义属性,该属性可应用于应加载到 ASP.NET 应用程序的任何程序集,并且 ASP.NET 引擎将调用您在其中指定的方法在实际运行应用程序中定义的任何代码之前。” --- 所以基本上它只是告诉应用程序在“实际”应用程序启动之前运行Start,据我了解
  • 设置assembly attribute。它告诉应用程序这个类的这个方法将在应用程序启动时被调用。更多详情here
  • 事实上,一个快速的谷歌搜索会为你回答这个问题......今天感到懒惰吗?
  • @SJuan76 实际上我不知道使用什么关键字进行搜索

标签: c# asp.net-mvc


【解决方案1】:

它指示 ASP.NET 管道在应用程序启动之前调用特定类型的特定方法,大概(根据其名称判断)。

【讨论】:

    猜你喜欢
    • 2012-03-14
    • 2014-01-05
    • 2011-08-26
    • 1970-01-01
    • 2014-01-10
    • 2018-07-07
    • 1970-01-01
    • 1970-01-01
    • 2016-03-28
    相关资源
    最近更新 更多