簡體   English   中英

單個網站目錄/多個IIS網站(多個web.config文件)

[英]Single Website Directory / Multiple IIS Websites (Multiple web.config files)

我繼承了一些非常古老的ASP代碼。 因此,我需要解決一個設計問題,如下所述。

我有3個客戶... Foo,Bar和Baz。

我有一個名為...的文件夾

C:\\網站已\\ Site.v15.07

我在IIS中有3個網站定義為...

Website.Foo

Website.Bar

Website.Baz

它們都指向15.07目錄。

還有3個其他文件夾,稱為...

C:\\ WebConfigurations \\富

C:\\ WebConfigurations \\酒吧

C:\\ WebConfigurations \\巴茲

...都包含3個站點中每個站點的客戶端特定文件。 上傳的圖片等

這3個客戶中的每一個都有自己的網站所在的數據庫。

我需要為3個站點中的每個站點設置(理想情況下,使用web.config)連接字符串。

如果將其放在網站目錄根目錄下的web.config中,它們將共享相同的設置。

有沒有一種方法可以在IIS的“網站”級別上添加settings / web.config,以便可以對每個網站進行不同的設置?

僅將通用配置放在應用程序文件夾中的Web.config中。

首次加載應用程序時,以編程方式從相應的文件夾加載特定於客戶端的配置文件,並以編程方式將信息合並到內存中的配置信息中。

以編程方式在內存中編輯配置信息的示例:

使用C#(.NET)以編程方式更改web.config

var configuration = WebConfigurationManager.OpenWebConfiguration("~");
var section = (ConnectionStringsSection)configuration.GetSection("connectionStrings");
section.ConnectionStrings["MyConnectionString"].ConnectionString = "Data Source=...";

在您的情況下,您需要兩次調用WebConfigurationManager.OpenWebConfiguration ,一次調用打開應用程序配置,一次調用加載客戶端配置。 然后將數據從客戶端配置復制到內存應用程序配置中(不要根據所引用的問題調用Save() ,這是一種不同的用例)。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM