簡體   English   中英

ASP.NET MVC 應用程序部署問題

[英]Problem with ASP.NET MVC application deployment

我目前正在部署我的 ASP.NET MVC5 項目。 我已經部署了項目文件,但我猜數據庫有一些問題。 我執行了以下步驟來部署數據庫:

  1. Visual Studio 中的 update-database -script 以獲取我本地數據庫的 SQL 腳本(我通過代碼優先開發它)

  2. 連接到我在托管面板中創建的 SQL 服務器數據庫。

  3. 運行我在 1 中生成的腳本。

  4. 將我的web.config中的連接字符串更改為:

     <connectionStrings> <add name="DefaultConnection" connectionString="Data Source=xxxxxx.xxxwebix.xx,2401;Initial Catalog=xxxxx;User ID=xxxxx;Password=xxxxx" providerName=".NET Framework Data Provider for SQL Server" xdt:Transform="SetAttributes" xdt:Locator="Match(name)"/> </connectionStrings>

所以基本上我用我用來連接到數據庫以運行腳本的相同憑據填充它。

不幸的是,我無法注冊或登錄。 我收到一個錯誤

處理您的請求時發生錯誤。
500內部服務器錯誤)

在控制台中,這並不能完全說明問題所在。 所以基本上,我知道問題可能與數據庫有關,但我不知道出了什么問題以及如何擺脫它。 這是我的網站(也許它會有所幫助): http://gymmanager.bartoszchodyla.pl.hostingasp.pl/

我會很感激任何幫助。

編輯我發現了問題-providerName。 這很奇怪,因為我在 Visual Studio 中連接到它后,從數據庫屬性中獲取了它。 我將其更改為默認的“System.Data.SqlClient”並且它有效。 有人知道為什么嗎?

這里可能發生很多事情。 它拋出 500 錯誤的事實意味着某些代碼導致了重大錯誤和/或您沒有打開友好錯誤。

您可以采取一些措施來准確找出問題所在。 在您的控制台中,確保打開友好錯誤,您應該會獲得更多信息。 您還可以將 try... 捕獲添加到您認為問題所在的位置,並避免異常並改為編寫消息(這相當粗略,但又快又容易)。 打開跟蹤也可以工作,只要您實際上可以在沒有 500 的情況下啟動應用程序。您在每個例程之前和之后添加跟蹤語句,然后 go 並檢查跟蹤文件。 同樣可以通過寫入文件以更粗略的方式完成。 這種方法的使用是可以隨意開啟和關閉trace。

如果您以正確的方式創建 SQL 腳本,那么您首先使用代碼的事實並不重要。 當您運行它時,只要它有效(創建並可能是種子?),您就擁有正確的架構。

那么,應用程序是預先拋出錯誤還是僅在訪問數據時拋出錯誤? 如果是后者,您有一個很好的地方開始尋找錯誤。

順便說一句,您可以通過更改本地連接字符串來針對您的提供程序數據庫進行本地測試。 這取決於是否打開某些端口,如果不是出於安全原因,您甚至可以這樣做。 然后,您可以在本地調試異常。

暫無
暫無

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

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