none
读取不到web.config 节点,附代码,麻烦帮我看看~~ RRS feed

  • 問題

  • Imports System.Configuration
    Imports System.Collections.Specialized
    Public Class IPvESAConnStrings
        Private Shared m_Instance As IPvESAConnStrings
        Private Shared m_Mutex As New System.Threading.Mutex
        Private Shared m_colConnectStrings As NameValueCollection
        Private Sub New()
            m_colConnectStrings = System.Configuration.ConfigurationSettings.GetConfig("appSettings")
        End Sub
        Public Shared Function GetInstance() As IPvESAConnStrings
            m_Mutex.WaitOne()
            If m_Instance Is Nothing Then
                m_Instance = New IPvESAConnStrings
            End If
            m_Mutex.ReleaseMutex()
            Return m_Instance
        End Function
        Public Function GetConnectStringByRole(ByVal Role As IPvESARequest.UserRole) As String
            Return m_colConnectStrings.Get(Role - 1).ToString
        End Function
    End Class

     

    未将对象引用设置到对象的实例。
    说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。

    异常详细信息: System.NullReferenceException: 未将对象引用设置到对象的实例。

     

    <?xml version="1.0" encoding="utf-8" ?>
    <configuration>
        <appSettings>
        <add
      key="External"
       value="Data Source=Server01;Initial Catalog=TR;User ID=sa;Password=heptri2004"
         />
        <add
      key="Internal"
      value="Data Source=Server01;Initial Catalog=TR;User ID=sa;Password=heptri2004"
        />
        <add
      keey="SuperUser"
      value="Data Source=Server01;Initial Catalog=TR;User ID=sa;Password=heptri2004"
        />
        <add
      key="Admin"
      value="Data Source=Server01;Initial Catalog=TR;User ID=sa;Password=heptri2004"
        />
        </appSettings>
    </configuration>

    我要读的不只是一个Key  而是四个~~只好把父Node 读下来,然后再到程序中去判断~~而读 父Node 应该是用 GetConfig(Node)这样的吧~~

    2006年12月5日 上午 08:06

解答

所有回覆

  • 請參考:

    http://msdn2.microsoft.com/zh-tw/library/system.configuration.configurationsettings.getconfig(VS.80).aspx

    其中有提到:

    參數

    sectionName

    組態名稱和路徑,例如 "system.net/settings"。

    2006年12月5日 上午 09:10
    版主
  • HI

    您可以先在web.config中以下列的格式放置資料庫連線資訊:

    <configuration>
        <connectionStrings>
              <add name="ExternalConnectionString" connectionString="連線資訊" providerName="System.Data.SqlClient"/>           
       <add name="InternalConnectionString" connectionString="連線資訊" providerName="System.Data.SqlClient"/>
              <add name="SuperUserConnectionString" connectionString="連線資訊" providerName="System.Data.SqlClient"/>
              <add name="AdminConnectionString" connectionString="連線資訊" providerName="System.Data.SqlClient"/>
        </connectionStrings>
    </configuration>

    再透過以下的做法取用, 會比較簡單:

    Dim strConn As String = ConfigurationManager.ConnectionStrings("AdminConnectionString").ConnectionString

     

    tihs

    2006年12月6日 上午 12:43