2011-07-27 35 views
2

我想知道是否可以在我的web項目的Web配置中設置連接,而該連接依賴於dll而不是來自連接字符串。在web配置中設置連接參數

UPDATE

好,我有一個dll,使與我的數據庫的連接,我想知道是否有可能來配置我的web.config中得到的dll從字符串連接,而不是連接。

+1

請不要關注,請重新點名。 –

+2

對不起,但我發現你的問題有點難以理解。你可能可以重新修改一下嗎?乾杯。 :) –

+0

我已經修改了這個問題 – Jorge

回答

2

只有在您的代碼中編輯web.config以在運行時根據您的依賴關係設置連接時,纔有可能。

1

是的 - 事實上這是正確的做法。您只需德DLL讀取應用程序的Web.config:

ConfigurationManager.ConnectionStrings["MyConnectionString"]; 

其中MyConnectionString是:

`<connectionStrings> 
    <add name="myConnectionString" connectionString="<your connection string>" providerName="<provider name>" /> 
</connectionStrings>` 

編輯添加的

我編輯你的問題之前回答。但是,我仍然質疑你的方法。根據我的經驗,DLL的全部目的是封裝可供多個應用程序使用的代碼。調用DLL的應用程序應負責設置連接字符串。但是,如果有某些原因必須在DLL中有連接字符串(硬編碼,我假設?),則需要公開它(如通過屬性),以便DLL的使用者可以訪問它。在這種情況下,應用程序可以使用該屬性來獲取連接字符串。

Stephen Kinningham的回答可能是你嘗試做什麼的途徑,但說實話,我想不出爲什麼你會想要一個理由。

+0

我想他想讓程序集成爲連接字符串的提供者,而不是它的使用者,即與答案中顯示的正常方式相反。 – hatchet

+0

@hatchet - 是的,我發佈我的答案後,我看到他的編輯。我添加了一個解釋,爲什麼我認爲這不是最好的方式,但總有這樣的可能性,他必須這樣做。 – Tim

0
<connectionStrings>  

<add name="MyConnection" connectionString="Data Source=SQLSERVERNAME;Initial Catalog=MYDBNAME;Persist Security Info=True;User ID=USERID_OR_ADMIN;Password=PASSWORD;" providerName="System.Data.SqlClient"/> 

</connectionStrings>