【发布时间】:2017-07-14 17:38:24
【问题描述】:
这是我目前的设置:
- 我的本地计算机:这是我在 Windows 10 上使用 Visual Studio 2015 Professional 启用 Cloudflare Flexible SSL 创建和编程我的 ASP.Net WebForms 项目的地方。我还启用了团队资源管理器,这意味着我的项目已同步到 Github 和所有我的一些文件也存储在我自己的存储库中。
- 我的服务器计算机:运行 Fedora 24,我已安装
dotnet CLI(又名 .Net Core)、apache (httpd)、nginx 和 Mono for ASP.Net。我想在这台计算机上的默认 Web 目录 (/var/www/html/mysite/) 中部署/发布和托管我的 webforms 项目
问题是,dotnet cli 依赖于 project.json 并且与 WebForms 不兼容。 .Net Core 基本上不是一种选择。当我使用 mod_mono 时,如果我在使用命令 xsp4 --port 9000 运行服务器时连接到 https://localhost:9000/,我会得到一个 Error 500(见下文)。我不能使用xsp4 --port 80 或xsp4 --port 443,因为它声称Address is already in use,即使httpd 是侦听这些端口的唯一进程。 请注意,我可以使用 xbuild 命令成功构建项目。
如何从 github 或本地计算机获取我的项目并将其部署到我的服务器计算机上?我错过了什么吗?这是我的虚拟主机配置供参考:httpd.conf。 我在启动 httpd.service 时通常不会出错。
编辑:
我还使用了nginx 和fastcgi-mono-server4 和this 配置而不是nginx,这是我直接从here 得到的,但仍然没有运气。我通常会得到这个Error 500:,其他时候我可以得到其他类型的Error 500。如果有适用于 apache 或 nginx 的解决方案,请告诉我。
【问题讨论】:
-
Web 窗体是否与 asp.net 核心兼容? Friendly URLs NuGet 包是否也兼容? blogs.msdn.microsoft.com/webdev/2016/06/27/… 似乎暗示 Web 表单将保留在 .Net 4.x 框架中。
-
@DafyddNZ 是的,这就是问题所在。我刚刚退出了 asp.net 核心,我一直在尝试将 httpd 与 mod_mono 一起使用,但这也不起作用。现在我正在使用 nginx,但我得到了上面的错误
-
查看您提供的 Mono for asp.net 链接,它谈到了 asp.net 2.0。您的目标是什么 .Net 框架?
-
@DafyddNZ 4.5.2
-
这里有一个兼容性页面:mono-project.com/docs/about-mono/compatibility,如果您使用任何异步模式,mono 将不支持它们。不过 ASP.Net 4.0 完全兼容,因此您可以考虑降级到该框架。
标签: c# asp.net linux apache nginx