2010-06-01 43 views
1

我有一個使用成員資格和配置文件的Web應用程序。我成功地使用了WebProfileBuilder擴展,所以我的配置文件類正確生成,並且運行良好。但是,在我的客戶端發出新的請求後,我現在需要將該配置文件管理部分移到另一個程序集中(這樣我就可以在同一臺計算機上運行的Windows服務中獲取配置文件信息)。獨立程序集中的Asp.net配置文件

我所做的是創建新程序集,移動我生成的配置文件,並試圖從另一個程序集中使用它,但沒有任何成功。我總是得到一個SettingsPropertyNotFoundException。我的想法是,配置文件系統不知道在哪裏找到它的連接信息,所以我試圖在這個程序集的app.config中添加連接字符串和提供程序,但這似乎不起作用。

我錯過了什麼?有可能嗎?

在此先感謝!

回答

0

好吧,我發現了什麼問題......由於這一博客帖子:

http://fredrik.nsquared2.com/viewpost.aspx?postid=244&showfeedback=true

我需要做的唯一的事情就是添加applicationName="/"在我的供應商配置,在App.config。 (這是應用程序的名稱,可以在DB的aspnet_Applications表內被發現。

<configuration> 

    <connectionStrings> 
    <add 
     name="MyConnectionString" 
     connectionString="Data Source=...;Initial Catalog=...;User ID=...;Password=..." 
     providerName="System.Data.SqlClient" /> 
    </connectionStrings> 

    <system.web> 
    <profile 
     enabled="true" 
     defaultProvider="Sql2008ProfileProvider"> 
     <properties> 
     <add name="UserLevel" type="integer"/> 
     <add name="value1" type="string" /> 
     <add name="value2" type="string" /> 
     <add name="value3" type="string" /> 
     <add name="value4" type="string"/> 
     </properties> 

     <providers> 
     <clear/> 
     <add 
      name="Sql2008ProfileProvider" 
      type="System.Web.Profile.SqlProfileProvider" 
      connectionStringName="MyConnectionString" 
      applicationName="/" 
      /> 
     </providers> 

    </profile> 
    </system.web> 

</configuration> 
0

我有一個討厭的懷疑,你的APP.Config文件不會被網絡應用程序挑選;你保存了Web.Config文件中的設置嗎?

我只在使用NUnit或類似方法時發現app.config在這樣一個assemply上工作。

+0

我刪除了什麼之間' ...從我的web.config',問題依然存在。 – Shimrod 2010-06-01 10:35:24

+0

哦,對不起,我的意思是說你應該嘗試保留web.config文件中的內容,並且不要將它移動到app.config。 我嘗試使用一些WCF服務時遇到了同樣的問題設計者堅持要在app.config中的綁定,但當我試圖加載頁面時拋出異常。我不得不將設置移動到Web.Config,然後它開始工作。 – 2010-06-01 10:46:19

+0

這是我的第一次嘗試,它也不起作用:-( 現在...鑑於我的Windows服務正在使用新的程序集,我應該在哪裏放置app.config?在程序集或在Windows服務? – Shimrod 2010-06-01 11:10:33

相關問題