[ASP.Net Core] 如何让 Godaddy 跑 .NET Core 3.1 ?

原文:[ASP.Net Core] 如何让 Godaddy 跑 .NET Core 3.1 ?


最近心血来潮逛看看最近有哪些 web hosting 的时候发现 Godaddy 竟然支援 .Net Core 了 !!
于是乎抱着满心期待的拿了魔法小卡刷了一个月来试玩看看,刷完才发现竟然只支援 .Net Core 2.0 ...

身为一个踩雷大师怎么能遇到点小挫折就放弃呢 ??
于是乎马上想到了 .Net Core 不是支援 self-contained 吗 ??
这样不就可以在未安装 .Net Core 3.1 的情况下跑了吗 !!!

正当我以为可以顺利地跑起来时马上收到了个 500 个巴掌...

查了查相关资料原因是 AspNetCoreModuleV2 是在 .Net Core 2.2 以后才有的东西,Godaddy 上面只有 2.0 根本不认识他呀 !!
知晓原因后我照着网上的教学把 web.config 里面的 AspNetCoreModuleV2 置换成 AspNetCoreModule

正当我觉得这次一定行并重整页面后迎接的我是 502.5 个拳头...

嗯好... 果然没有这么轻鬆可以让我跑起来...
又经过了数小时的资料翻阅后终于翻到一篇 ASP.NET Core Hosting – 3 Simple Steps to Fix 502.5 Error in ASP.NET Core

上面有提到可以置换 web.config 中的 processPath 并在 arguments 指定 dll 运行

原本的 web.config

<?xml version="1.0" encoding="utf-8"?><configuration>  <location path="." inheritInChildApplications="false">    <system.webServer>      <handlers>        <add name="aspNetCore" path="*" verb="*" modules="AspNetCoreModule" resourceType="Unspecified" />      </handlers>      <aspNetCore processPath=".\WebApplication1.exe" stdoutLogEnabled="false" stdoutLogFile=".\logs\stdout" hostingModel="inprocess" />    </system.webServer>  </location></configuration><!--ProjectGuid: 3047a62f-999e-46e5-b66f-70da7471bf2b-->

经过置换后变成:

<?xml version="1.0" encoding="utf-8"?><configuration>  <location path="." inheritInChildApplications="false">    <system.webServer>      <handlers>        <add name="aspNetCore" path="*" verb="*" modules="AspNetCoreModule" resourceType="Unspecified" />      </handlers>      <aspNetCore processPath="dotnet" arguments=".\WebApplication1.dll" stdoutLogEnabled="true" stdoutLogFile=".\logs\stdout" hostingModel="inprocess" />    </system.webServer>  </location></configuration><!--ProjectGuid: 3047a62f-999e-46e5-b66f-70da7471bf2b-->

终于跑起来拉

看来以后有便宜的 Web Hosting 可以开发/测试了,
如果有流量小的网站直接在上面运行我想也是没有问题的,
今天的经验分享就到这拉 ~
希望有帮到大家


关于作者: 网站小编

码农网专注IT技术教程资源分享平台,学习资源下载网站,58码农网包含计算机技术、网站程序源码下载、编程技术论坛、互联网资源下载等产品服务,提供原创、优质、完整内容的专业码农交流分享平台。

热门文章