2009-01-26 72 views
0

我們在我們的測試Web服務器上遇到了一個Web方法錯誤。主要錯誤是:ASP Membership無法處理web.config中的加密連接字符串

"Access to the path 'E:\websites\Discovery\ProfileService\App_Data' is denied" 

進一步向下看的堆棧跟蹤給人一點信息:

"at System.Web.DataAccess.SqlConnectionHelper.CreateMdfFile..." 
"at System.Web.DataAccess.SqlConnectionHelper.EnsureSqlExpressDBFile..." 
"at System.Web.DataAccess.SqlConnectionHelper.GetConnection..." 
"at System.Web.Security.SqlMembershipProvider.GetUser..." 
"at System.Web.Security.Membership.GetUser..." 
"at System.Web.Security.Membership.GetUser..." 

看來,會員供應商正試圖找到一個成員的呼叫連接字符串。未能找到此條目時,它嘗試創建新的本地成員資格數據庫,但未能通過權限錯誤執行此操作。

我們仔細檢查了連接字符串,儘管它們被加密了,但它們似乎沒問題。然後我們保存瞭解密的連接字符串部分的配置 - 現在調用工作了!

我們知道連接字符串是正確的,因爲其他服務方法工作正常。更爲奇怪的是,成員身份的某些方面似乎與加密一起工作。

有沒有人看過這個或知道如何使用加密連接字符串這項工作?

回答

0

在您的代碼中,在進行SQL調用之前,您是否在解密連接字符串?

來自堆棧跟蹤的錯誤很可能是您的應用在該目錄中沒有寫入權限。

+0

不,ASP會自動解密連接字符串。這適用於除此之外的其他任何方法調用。 – 2009-01-26 18:33:07