2011-06-16 61 views
1

我有一個MyProject.config文件,其中包含ConnectionStrings,AppSettings和自定義部分。我不想在wcf app.config文件中重複這些設置。如果將它放在IIS中,是否可以將MyProject.config與app.config或web.config合併。如果是這樣,我會在代碼的哪個位置執行該操作,以及如何完成該操作?合併wcf app.config與另一個配置文件的另一個項目?

作爲一個例子,在MyProject.config中,我有一個名爲Common的部分組,我有AppSettings和ConnectionStrings。我知道我可以在app.config中複製它,但是我不得不在兩個地方維護它。

MyProject.config:

<?xml version="1.0"?> 
    <configuration> 
     <sectionGroup name="common"> 
      <section name="appSettings" /> 
      <section name="connectionStrings" /> 
     </sectionGroup> 
    </configSections> 

    <common> 
     <appSettings> 
      <add key="UserName" value="test" /> 
      <add key="Password" value="test" /> 
     </appSettings> 
     <connectionstrings></connectionstrings> 
    </common> 

的app.config爲WCF包含ServiceModel配置,我不」想必須把上面的app.config。我想閱讀它,這是否有意義?

+0

是應用程序MyProject.config配置,應用程序內的庫或同一個套件中的多個應用程序?在這種情況下,WCF服務是作爲應用程序運行的,還是應用程序加載的庫? – 2011-06-16 18:12:10

+0

MyProject.config是一個位於網站下的配置文件。 wcf庫有一個app.config文件。 wcf庫由應用程序加載。基本上,我在MyProject.config中有一些由所有項目共享的設置,所以我想從我的wcf庫中讀取它們。 – Xaisoft 2011-06-16 18:14:55

+0

WCF庫是由多個應用程序託管還是僅由此託管?如果只是這一個,爲什麼不擺脫庫app.config並將所有內容放在Projects.config中(這與web.config btw有什麼不同?) – 2011-06-16 18:23:51

回答

0

WCF將只從應用程序的.NET配置文件(用於IIS託管服務的web.config)加載基於配置的服務設置。本質上你正在對抗.NET配置文件模型。

如果你想保持獨立的文件,然後決定什麼會爲您的主配置文件行事,然後使用configSource模型組合多個配置文件

+0

我真的看到了這個鏈接,但如果MyProject.config位於目錄c:\ websites \ xaisoft.com \ MyProject.config中,我該如何在configSource中指向這個。 – Xaisoft 2011-06-16 20:18:25

+0

那麼網站本身在虛擬目錄方面呢?理解你的應用程序佈局會非常有幫助 – 2011-06-16 20:21:45

+0

我設置了http:\\ xaisoft.com.local – Xaisoft 2011-06-16 20:32:33