[英]Asp.Net Core - Returns 500 for no reason
我想就這種奇怪的行為尋求幫助。
我有Asp.Net Core(.Net Core版本2.0)應用程序,該應用程序在Windows 10計算機上運行沒有問題,但是當我將其發布到Debian服務器時,它開始表現異常。 我已經驗證了文件,在Windows上運行的應用程序sha1與在Debian上運行異常的應用程序sha1相同。
它有多個沒有視圖的控制器-它們可以正常工作(我只是從中返回ObjectResult)。 我有一個使用View的控制器,每當我嘗試在Debian服務器上調用它時,它都會返回500 Internal Server Error,而沒有任何信息-只是空響應。 我嘗試將調試版本上傳到服務器,嘗試將控制器方法封裝到try-catch中,但是一切仍然相同->空500響應。
摘要:
+------------+----------+----------+
| | Windows | Debian |
+------------+----------+----------+
| Controller | OK | OK |
| w/o view | | |
| | | |
| Controller | OK | 500 Err |
| with view | | |
+------------+----------+----------+
沒有錯誤消息,try-catch不執行任何操作,調試模式不執行任何操作。
這是日志: https ://pastebin.com/22AC8d4G有趣的是,我在/ View / HouseForm中擁有Form.cshtml: http ://prntscr.com/jytj0f-我試圖將其放入/ View /也共享。 它適用於Windows,但不適用於Debian。 可能是.Net Core問題?
如果您需要任何其他信息,請發表評論,我將編輯此問題。
好的,這是問題所在:
如日志所示,Asp找不到視圖文件。 它在Windows上有效,因為在Windows上,啟動路徑設置為/ Views文件夾上方的一級。 但是在Debian上,啟動路徑在/ Views文件夾上方設置了兩個級別。 所以我必須將其添加到程序中:
if (Directory.GetCurrentDirectory().EndsWith("3step"))
Directory.SetCurrentDirectory(Path.Combine(Directory.GetCurrentDirectory(), "publish"));
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.