Asp.net core利用IIS在windows上进行托管步骤详解

 更新时间:2018年03月21日 11:06:08   作者:wolfy  
这篇文章主要给大家介绍了关于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

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,如果有疑问大家可以留言交流,谢谢大家对脚本之家的支持。

相关文章

  • .NET发布网站详细步骤

    .NET发布网站详细步骤

    这篇文章主要为大家介绍了.NET发布网站详细步骤,包括web网站发布、IIS6 安装方法、ASP.NET v4.0 安装方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-02-02
  • windows中允许服务与桌面交互的更改方法示例

    windows中允许服务与桌面交互的更改方法示例

    这篇文章主要介绍了windows中允许服务与桌面交互的更改方法,需要的朋友可以参考下
    2014-02-02
  • .NET中的状态机库Stateless的操作流程

    .NET中的状态机库Stateless的操作流程

    本文给大家介绍了.NET中的状态机库Stateless, 使用它我们可以很容易的定义出自己业务需要的状态机,或者基于状态机的工作流,本文大部分的内容都来自官方Github,有兴趣的同学可以深入研究一下
    2021-12-12
  • .net core中高效的动态内存管理方案

    .net core中高效的动态内存管理方案

    这篇文章介绍了.net core中高效的动态内存管理方案,文中通过示例代码介绍的非常详细。对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-07-07
  • 一些.NET对多线程异常处理技巧分享

    一些.NET对多线程异常处理技巧分享

    多线程应用,在实际的项目或产品开发中,原则上来说,应该尽量避免,但是在强调用户体验的要求下或开发平台的限制下(如 Silverlight Socket 通讯),我们不得不用多线程。
    2010-04-04
  • docker部署Asp.net core应用的完整步骤

    docker部署Asp.net core应用的完整步骤

    这篇文章主要给大家介绍了关于docker部署Asp.net core应用的完整步骤,文中通过示例代码介绍的非常详细,对大家学习或者使用Asp.net core具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2019-05-05
  • VB.NET验证邮件地址的合法性实现代码

    VB.NET验证邮件地址的合法性实现代码

    现在,对于用户在Web页面上或电话中给出的Email地址,我们越来越不敢肯定它是否真的有效。在今天这个垃圾邮件泛滥成灾的年代,人们完全有理由舍不得轻易透露Email地址。
    2011-04-04
  • .Net Core导入千万级数据至Mysql数据库的实现方法

    .Net Core导入千万级数据至Mysql数据库的实现方法

    今天我们谈谈MySQL怎么高性能插入千万级的数据的,讨论这个问题牵扯到一个数据迁移功能,高性能的插入数据,接下来通过本文给大家分享几种实现方法,感兴趣的朋友跟随小编一起学习下吧
    2021-05-05
  • Linux服务器下利用Docker部署.net Core项目的全过程

    Linux服务器下利用Docker部署.net Core项目的全过程

    这篇文章主要给大家介绍了关于在Linux服务器下利用Docker部署.net Core项目的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用.net Core具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2019-07-07
  • ASP.NET Core中自定义路由约束的实现

    ASP.NET Core中自定义路由约束的实现

    这篇文章主要介绍了ASP.NET Core中自定义路由约束的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-03-03

最新评论