我已經遇到這個問題超過一天了,所以我決定尋求幫助。
IIS部署報錯圖片
我可以在 Visual Studio 的 IIS Express 上成功測驗我的 ASP.NET 專案,連接字串運行良好。此外,當我運行位于 IIS 部署檔案夾中的 program.exe 時,它??還可以完美地連接到 localdb。
不幸的是,當使用我的專案的實時 IP 地址時,會出現錯誤,所以我的猜測是它正在連接到資料庫,但由于某種原因它無法檢索或推送資料。
我嘗試使用不同的資料庫連接方法localdb,shared localdb和SQL Express。沒有作業。
我的連接字串如下:
Server=(localdb)\\MSSQLLocalDB;Database=PaymentConnect;Trusted_Connection=True;
我已嘗試將其添加EnableRetryOnFailure到我的代碼中,不幸的是錯誤仍然存??在,在允許的嘗試后它再次失敗。
我確實沒有將專案部署到 IIS 的經驗,也沒有 ASP.NET 的經驗。如果有人可以幫助我,那就太好了!謝謝!
如果我忘記添加某些內容,請告訴我,以便我更新問題
uj5u.com熱心網友回復:
不幸的是,該錯誤是通用的,它僅表示出現了問題并且可能是暫時性故障。但是我的問題實際上已經解決了,對于那些和我遇到同樣問題的人來說,如何解決它。
您應該下載并設定 SQL Express,而不是使用 localdb,它就像一個本地服務器,但與 PC 上的所有用戶共享,您將需要它,因為當 IIS 嘗試打開您的 localdb 時,它實際上會以自己的用戶身份打開,所以localdb是不同的。請記住更改應用程式上的連接字串,它應該如下所示:"DefaultConnection": "Server=.\\SQLEXPRESS;Database=PaymentConnect;Trusted_Connection=True;"
之后,您需要在資料庫上創建一個安全用戶,如下所示:
IIS APPPOOL\nameOfMyAppPool
nameOfMyAppPool您的網站正在使用的應用程式池的名稱在哪里。
現在,我所做的(我不確定是否需要)是我給了這個安全用戶 sysadmin 服務器角色,你會在創建這個用戶時看到這個,同樣在用戶映射上你選擇你的資料庫并給它db_datareader db_datawriter和db_owner它。
之后轉到您的資料庫并單擊以查看其屬性,您將需要轉到權限并授予您剛剛創建的新用戶權限:
select delete insert update connect replication execute references control
我想再次提醒一下,這就是我解決問題的方式,我不確定其中哪些是真正必要的。
這應該可以解決問題。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/479176.html
標籤:C# 网 asp.net-mvc iis 本地数据库
