繁体   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