Asp.net core利用IIS在windows上进行托管步骤详解
摘要 最近项目中,尝试使用asp.net core开发,在部署的时候,考虑现有硬件,只能部署在windows上,linux服务器暂时没有。下面话不多说了,来一起看看详细的介绍吧。 部署注意事项 代码中启用iis和Kestrel public class Program { public static void Main(string[] args) { BuildWebHost(args).Run(); } public static IWebHost BuildWebHost(string[] args) => WebHost.CreateDefaultBuilder(args) .UseKestrel() .UseContentRoot(Directory.GetCurrentDirectory()) .UseIISIntegration() .UseStartup<Startup>() .UseApplicationInsights() .Build(); } 在服务端安装 .NET Core Windows Server 托管捆绑包 捆绑包可安装 .NET Core 运行时、.NET Core 库和 ASP.NET Core 模块。 该模块创建 IIS 与 Kestrel 服务器之间的反向代理。 如果系统没有 Internet 连接,请先获取并安装 Microsoft Visual C++ 2015 Redistributable,再安装 .NET Core Windows Server 托管捆绑包。 重启系统,或从命令提示符处依次执行 net stop was /y 和 net start w3svc。 重新启动 IIS 将选取安装程序对系统 PATH 所作的更改。 发布 使用vs发布或者使用命令,这里由于使用vs2017开发,就直接用vs发布了 在服务端新建站点 修改应用池CLR为No Managed Code 可以下面新建子站点test 确认进程模型标识拥有适当的权限。 如果将应用池的默认标识(“进程模型” > “标识”)从 ApplicationPoolIdentity 更改为另一标识,请验证新标识拥有所需的权限,可访问应用的文件夹、数据库和其他所需资源。例如,应用池需要对文件夹的读取和写入权限,以便应用在其中读取和写入文件。 常见错误 如果通过ip和端口访问,报500错误,但在服务器上 通过dotnet xxxxx.dll可以启动kestrel,并可以通过http:localhost:5000进行访问,一般可以通过修改站点目录权限进行解决。至少可以读写的权限。 其他错误,可以参考 https://docs.microsoft.com/zh-cn/aspnet/core/host-and-deploy/iis/troubleshoot 总结 以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,如果有疑问大家可以留言交流,谢谢大家对编程小技巧的支持。 您可能感兴趣的文章:
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- 使用ASP.Net Web API进行多部分表单POST
- asp.net – 我什么时候应该使用Webservice属性System.Compo
- 什么是在asp.net中301重定向更推荐的方法?
- asp.net – 如何确定请求是否是回发的结果?
- 我可以在ASP.NET中获取浏览器时区,还是依靠JS操作来检索信息
- asp.net-mvc – 将index.html设置为默认页面
- asp.net-mvc – 在显示模板中使用DisplayFor
- ASP.NET:HTTP错误500.19 – 内部服务器错误0x8007000d
- asp.net – 我可以覆盖web.config中的连接字符串以进行本地
- asp.net – 经过身份验证的服务不支持跨域javascript回调.