Asp.NetCore1.1去project.json打包跨平台教程:Session与MemoryCache配置

0 下载量 88 浏览量 更新于2024-09-04 收藏 91KB PDF 举报
在Asp.NetCore 1.1版本中,随着project.json的弃用,开发者面临着一个新的挑战,即如何在没有这个传统配置文件的情况下打包生成跨平台的应用包。本文将重点介绍如何在移除project.json后,使用Visual Studio 2017进行开发,并实现跨平台部署。 首先,从技术层面来看,Asp.NetCore 1.1之后的版本开始使用.json文件代替了project.json,这简化了项目的配置管理。这意味着你需要更新项目结构和依赖管理方式,确保项目能够正确解析新的配置格式。在VS2017中,NuGet包管理器成为主要的依赖管理工具,你可能需要手动或通过命令行来安装和管理依赖项。 生成跨平台包的关键在于选择正确的构建目标和工具。对于.NET Core应用程序,你可以使用dotnet CLI(命令行工具)来进行构建。在命令行中,你可以执行`dotnet publish`命令来发布应用,这将生成一个包含所有依赖项和跨平台兼容的二进制文件的目录。确保在发布时指定了正确的Target Framework和Runtime Identifier(RID),以便生成针对特定操作系统(如Windows、Linux或macOS)的独立部署包。 文章中提到的Session管理是Web开发中的一个重要部分。在.NET Core 1.1中,内存缓存(MemoryCache)被用于默认的Session存储。在Startup.cs文件中,通过添加`AddDistributedMemoryCache()`和配置Session选项,可以设置Session的超时时间和Cookie名称。尽管项目不再依赖于project.json,但配置过程基本保持一致,只是通过服务注册和配置方法完成。 对于那些对Session有额外需求的开发者,本文提到了Redis作为另一种session存储解决方案,尤其是在之前的文章中。然而,对于.NetCore项目,虽然支持第三方缓存方案,但MemoryCache是内置且默认的选择,只需通过VS2017的自动引用或手动添加NuGet包来集成。 Asp.NetCore 1.1版本去掉了project.json后,开发者需要适应新的项目结构和依赖管理方式,同时利用.NET Core CLI工具来打包和发布跨平台应用。对于Session管理,理解并配置MemoryCache是基础,可根据实际需求引入其他缓存方案。本文提供了宝贵的实践经验和参考资料,适合想要深入理解和迁移至最新版本的.NET Core开发者参考。