哪里存放默认的asp.net

时间:2011-08-24 20:51:04

标签: c# asp.net vb.net

我在整个应用程序中都有一堆默认字符串和整数。比如默认名称等等。这些都是常数。我只想在我的应用程序中的不同页面中访问它们。放置它们的最佳位置是什么?我在考虑Enum或类似的东西。什么是最好的方法?

6 个答案:

答案 0 :(得分:2)

最好的地方是将它们放入web.config文件的appSettings部分:

  <appSettings>
    <add key="myKey" value="myValue"/>
  </appSettings>

然后,您可以使用ConfigurationManager类读取键/值对:

' Get the AppSettings section.        
' This function uses the AppSettings property
' to read the appSettings configuration 
' section.
Public Shared Sub ReadAppSettings()
    Try
        ' Get the AppSettings section.
        Dim appSettings As NameValueCollection = _
            ConfigurationManager.AppSettings

        ' Get the AppSettings section elements.
        Console.WriteLine()
        Console.WriteLine("Using AppSettings property.")
        Console.WriteLine("Application settings:")

        If appSettings.Count = 0 Then
            Console.WriteLine( _
            "[ReadAppSettings: {0}]", _
            "AppSettings is empty Use GetSection first.")
        End If
        Dim i As Integer = 0
        While i < appSettings.Count
            Console.WriteLine( _
                "#{0} Key: {1} Value: {2}", _
                i, appSettings.GetKey(i), appSettings(i))
            System.Math.Max( _
                System.Threading.Interlocked. _
                Increment(i), i - 1)
        End While
    Catch e As ConfigurationErrorsException
        Console.WriteLine("[ReadAppSettings: {0}]", _
                          e.ToString())
    End Try
End Sub

答案 1 :(得分:1)

您可以使用每个公共const创建一个静态类。

static public class DefaultValues
{
    public const string Name = "Bob";
    public const int AppId = 1234;
}

答案 2 :(得分:0)

我在项目的“设置”区域(项目属性 - &gt; 设置)中保留这样的内容,然后在我的代码中以My.Settings.<TheSettingName>的形式访问它们强烈的庄园。

同样作为奖励,它将每个设置放在web.config文件中,然后我可以在运行时根据需要更改其值,而无需重新编译/部署。

这样做的缺点是My.Settings.<...>在视图/ aspx中不可用。因此,对于我在视图中需要的值,我将它们包装在一个访问器模块中。 E.g。

Public Module ScriptReferences
    Public Function JQueryJsUrl() As String
        Return My.Settings.JQueryJsUrl
    End Function
End Module

然后在view / aspx中,您只需致电ScriptReferences.JQueryJsUrl即可获得您的价值。

答案 3 :(得分:0)

最好的方法是拥有某种定义文件。但是,请小心处理方法,因为如果不断添加随机常量,就可以轻松获得无法管理的定义文件。

答案 4 :(得分:0)

我通常创建一个常量类或其他一些适当命名的静态类,然后为各种常量添加静态get only属性。

public static string ConstantString { get {return "Hello World"; } }

答案 5 :(得分:0)

您也可以将App_GlobalRessource与资源文件一起使用......这样可以轻松维护这些常量。