木叉博客


  • 首页

  • 归档

  • 搜索

ASP.NET 4 迁移到 ASP.NET Core 的部分改变

时间: 2020-01-28 字数: 447 字 阅读: 1分钟 阅读次数:

官方迁移链接

接下来是正文(会涉及到 .Net Core 的迁移):

  • 从 Type 中获取 Attribute 特性 原来是这样:

    type.GetCustomAttributes()
    

    现在是这样:

    type.GetTypeInfo().GetCustomAttribute()
    
  • 引用缓存

    原来是这样:

    引用 System.Runtime.Caching

    定义 ObjectCache cache = MemoryCache.Default; 之后,就可以使用了

    现在是这样:

    在 project.json 中,依赖 Microsoft.Extensions.Caching.Memory

    在 Startup.cs 中,添加缓存服务

    public class Startup{
        public void ConfigureServices(IServiceCollection services){
            services.AddMemoryCache();
        }
    }
    

    然后在需要的地方,定义

    IMemoryCache cache = new MemoryCache(new MemoryCacheOptions());
    
  • 启用 Session 原来是这样:

    在纯粹的 ASP.NET 应用中,如果 Handler 需要用到 Session,需要实现 IRequiresSessionState 接口

    其他的场景我就不知道了,233333,因为没怎么用过,或者太久了给忘了,2333333

    现在是这样:

    需要注意的是,Session 依赖 Caching,所以除了配置 Session 还要配置 Caching

    在 project.json 中,依赖 Microsoft.Extensions.Caching.Memory,Microsoft.AspNet.Session

    注册服务

    public class Startup{
        public void ConfigureServices(IServiceCollection services){
            services.AddMemoryCache();
            services.AddSession(/* options go here */);
        }
    }
    

    启用 Session

    public class Startup{
        public void Configure(IApplicationBuilder app)
        {
            app.UseSession();
        }
    }
    
  • 获取项目根路径(抄自链接 )

    直接上代码,有什么不明白,看上面的链接

    // Classic ASP.NET
    public class HomeController : Controller
    {
        public ActionResult Index()
        {
            string physicalWebRootPath = Server.MapPath("~/");
    
            return Content(physicalWebRootPath);
        }
    }
    
    using Microsoft.AspNetCore.Hosting;
    using Microsoft.AspNetCore.Mvc;
    
    namespace AspNetCorePathMapping
    {
        public class HomeController : Controller
        {
            private readonly IHostingEnvironment _hostingEnvironment;
    
            public HomeController(IHostingEnvironment hostingEnvironment)
            {
                _hostingEnvironment = hostingEnvironment;
            }
    
            public ActionResult Index()
            {
                string webRootPath = _hostingEnvironment.WebRootPath;
                string contentRootPath = _hostingEnvironment.ContentRootPath;
    
                return Content(webRootPath + "\n" + contentRootPath);
            }
        }
    }
    
#.net core# #asp.net# #asp.net core#
QQ扫一扫交流

标题:ASP.NET 4 迁移到 ASP.NET Core 的部分改变

链接:/post/asp-net-4-to-asp-net-core/

作者:Venyo Wong

声明: 本博客文章除特别声明外,均采用 CC BY-NC-SA 3.0许可协议,转载请注明出处!

创作实属不易,如有帮助,那就打赏博主些许茶钱吧 ^_^
WeChat Pay

微信打赏

Alipay

支付宝打赏

RSS 阅读器的推荐以及 Orleans 框架的介绍
使用 Elasticsearch 的 NGram 分词器处理模糊匹配
Venyo Wong

Venyo Wong

Hou tui, wo yao kai shi zhuang bi le.

26 日志
0 分类
23 标签
GitHub
友情链接
© 2010 - 2024 木叉博客
Powered by - Hugo v0.120.4 / Theme by - NexT
Storage by Github / 闽ICP备2023011022号-2
0%