我正在部署一個ASP.NET MVC應用程序,並且在web.config中遇到困難。該應用程序將部署到我們的服務器,但將訪問不同的,非現場服務器上的數據庫。嘗試加載訪問數據庫的頁面時出現以下錯誤:ASP.NET MVC web.config - 用戶登錄失敗
'/'應用程序中的服務器錯誤。
登錄用戶'LOCALSERVERNAME $'失敗。 描述:執行當前Web請求期間發生未處理的異常。請查看堆棧跟蹤以獲取有關該錯誤的更多信息以及源代碼的位置。
異常詳細信息:System.Data.SqlClient.SqlException:用戶'LOCALSERVERNAME $'的登錄失敗。
在web.config中這個樣子的連接字符串:
<connectionStrings>
<add name="ApplicationServices" connectionString="data source=.\SQLEXPRESS;Integrated Security=SSPI;AttachDBFilename=|DataDirectory|aspnetdb.mdf;User Instance=true" providerName="System.Data.SqlClient" />
<add name="AppEntities" connectionString="metadata=res://*/Models.Model.csdl|res://*/Models.Model.ssdl|res://*/Models.Model.msl;provider=System.Data.SqlClient;provider connection string="Data Source=EXTERNALSERVERNAME;Password=****;User ID=****;Initial Catalog=AppData;Integrated Security=True;MultipleActiveResultSets=True"" providerName="System.Data.EntityClient" />
</connectionStrings>
因此錯誤是用於認證的本地服務器,這是剛剛託管的文件。應用程序中不與數據庫交互的純ASP頁面正在正確地服務。這個問題似乎只在嘗試訪問完全不同的服務器上的數據庫時出現。我也知道異地服務器的連接字符串是正確的,它適用於其他應用程序。
我很少處理配置的東西,我工作在一個非常有限的環境中,所以這很難排除故障。很感謝任何形式的幫助。
LOCALSERVERNAME與EXTERNALSERVERNAME相同嗎? – Anthony
@安東尼不,他們是不同的服務器。 LOCALSERVER是託管應用程序的本地服務器,EXTERNALSERVER位於其他位置,並託管數據庫。 –