簡體   English   中英

Asp.Net Core-無故返回500

[英]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.

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