如何详细步骤在Windows上使用IIS托管Asp.net core应用?
- 内容介绍
- 文章标签
- 相关推荐
本文共计821个文字,预计阅读时间需要4分钟。
摘要:最近项目中尝试使用ASP.NET Core进行开发。在部署时,考虑到现有硬件条件,只能部署在Windows上,Linux服务器暂时不具备条件。
部署注意事项:
1.ASP.NET Core应用程序支持Windows和Linux平台,但需确保服务器满足以下条件:
- Windows服务器:需安装.NET Core SDK和IIS或Kestrel。 - Linux服务器:需安装.NET Core SDK和适当的运行时环境。2. ASP.NET Core应用程序依赖的第三方库需在部署环境中可访问。
3. 部署过程中,需配置应用程序的启动参数,如环境变量、端口等。
4. 确保应用程序在部署后的环境中稳定运行,定期检查日志和性能指标。
代码示例:csharp// 配置应用程序的启动参数public class Program{ public static void Main(string[] args) { var builder=WebApplication.CreateBuilder(args);
// 添加服务 builder.Services.AddControllers();
// 创建并配置应用程序实例 var app=builder.Build();
// 配置HTTP请求管道 app.UseHttpsRedirection(); app.UseAuthorization(); app.MapControllers();
// 启动应用程序 app.Run(); }}
摘要
最近项目中,尝试使用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,并可以通过docs.microsoft.com/zh-cn/aspnet/core/host-and-deploy/iis/troubleshoot
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,如果有疑问大家可以留言交流,谢谢大家对易盾网络的支持。
本文共计821个文字,预计阅读时间需要4分钟。
摘要:最近项目中尝试使用ASP.NET Core进行开发。在部署时,考虑到现有硬件条件,只能部署在Windows上,Linux服务器暂时不具备条件。
部署注意事项:
1.ASP.NET Core应用程序支持Windows和Linux平台,但需确保服务器满足以下条件:
- Windows服务器:需安装.NET Core SDK和IIS或Kestrel。 - Linux服务器:需安装.NET Core SDK和适当的运行时环境。2. ASP.NET Core应用程序依赖的第三方库需在部署环境中可访问。
3. 部署过程中,需配置应用程序的启动参数,如环境变量、端口等。
4. 确保应用程序在部署后的环境中稳定运行,定期检查日志和性能指标。
代码示例:csharp// 配置应用程序的启动参数public class Program{ public static void Main(string[] args) { var builder=WebApplication.CreateBuilder(args);
// 添加服务 builder.Services.AddControllers();
// 创建并配置应用程序实例 var app=builder.Build();
// 配置HTTP请求管道 app.UseHttpsRedirection(); app.UseAuthorization(); app.MapControllers();
// 启动应用程序 app.Run(); }}
摘要
最近项目中,尝试使用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,并可以通过docs.microsoft.com/zh-cn/aspnet/core/host-and-deploy/iis/troubleshoot
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,如果有疑问大家可以留言交流,谢谢大家对易盾网络的支持。

