【问题标题】:How to initialize Website Configuration on asp.net MVC如何在 asp.net MVC 上初始化网站配置
【发布时间】:2012-05-01 03:56:43
【问题描述】:

我是如何在 asp.net 中使用 MVC 模式的新手。在一般的网络应用程序中,我已经初始化了网站级别常见的配置

喜欢,

public partial class Default : MyBaseClass
{
}

public class MyBaseClass : System.Web.UI.Page
{

 public override OnDo()
{

}
}

如有拼写错误请忽略。在 OnDo() 函数中,我初始化 StoreClass 哪些属性可以访问整个应用程序。

这个场景我是如何在asp.net MVC中实现的

【问题讨论】:

  • 您是否尝试过阅读任何有关 ASP.NET MVC 的书籍或网站?
  • 创建一个静态类并在app_start中设置类的属性。更多关于 app_start 的信息在这里stackoverflow.com/questions/2058621/…
  • 我对 MVC 模式的工作原理有基本的了解。
  • @AkilVhora - MVC 模式的一般知识几乎不会帮助您理解 ASP.NET MVC 的工作原理。转到asp.net/mvc 并从头开始。

标签: c# asp.net asp.net-mvc asp.net-mvc-3


【解决方案1】:
【解决方案2】:

在 ASP.Net 项目中,您可以将配置信息放在 web.config 中。但是,我更喜欢将我的配置放在一个 XML 文件中,并使用 ASP.Net 将其部署到网站。这是定义我的配置类的一个示例:

public class MyAppConfig {
  private static _config = null;
  // Configuration is a simple class with a list of properties
  public static Configuration Configuration {
     if (_config == null ) {
         _config = new Configuration();
         // parse XMl file and set properties
     }
     return _config;
  }
}

在您的情况下,您可以使用 MyAppConfig 获取 Web 应用程序级别的配置属性:

public class MyBaseClass : System.Web.UI.Page
{

  public override OnDo()
  {
      Configuration myConfig = MyAppConfig.Configuration;
      // use properties ....
  }
}

将配置放在自己的 XML 文件中的好处是该组件可以在其他应用程序中使用,例如控制台应用程序,只需很少的更改。但是,您不能将更改写入 Web 应用程序中的 XML 文件。通常,我将可写信息放在数据库中以解决问题。

【讨论】:

    【解决方案3】:

    对于要在每个操作之前触发的事件,您可以这样做。

    定义一个基本控制器并将其用于所有控制器。

    public class BaseController : Controller
    {
        protected override void OnActionExecuting(ActionExecutingContext context)
        {
        }
    }
    

    您的控制器将如下所示:

    public class MyController : BaseController
    

    OnActionExecuting 将在每个操作之前被触发

    对于会话级别或应用程序级别的事件,您应该使用 global.asax

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-09-04
      • 2013-01-24
      • 1970-01-01
      • 1970-01-01
      • 2011-11-11
      • 1970-01-01
      • 2016-04-13
      • 2018-04-07
      相关资源
      最近更新 更多