.NET Core来源

由于 .NET Core 的开发目标是跨平台的 .NET 平台,因此 .NET Core 会包含 .NET Framework 的类库,但与 .NET Framework 不同的是 .NET Core 采用包化 (Packages) 的管理方式,应用程序只需要获取需要的组件即可 NetCore在桌面程序、Web、云、移动、游戏、物联网、AI领域都能进行开发。对于我自己而言,Web程序和控制台程序开发的比较多,随着后续版本的发布迭代,Winform/WPF桌面应用程序应该也是不错的选择,毕竟界面开发的便捷性是很大的优势,但个人觉得像桌面程序后续做工具、单机项目及内部小项目会使用,大型项目应该采取Web架构更加适合(个人理解);

核心功能

.NET Core 是由许多项目所组成,除了基本的类库(Core FX) 之外,也包含采用 RyuJIT 编译的运行平台 Core CLR、编译器平台.NET Compiler Platform、采用 AOT 编译技术运行最优化的包 Core RT (.NET Core Runtime),以及跨平台的 MSIL 编译器 LLILC (LLVM-based MSIL Compiler) 等项目。

(1).netcore中的Request使用:

<1>:接受前台传值: get:Request.Query["name"] post:Request.Form["name"]; <2>获取ip地址: string ipaddress = HttpContext.Connection.RemoteIpAddress.ToString(); <3>请求方式get,post等: string RequestType = HttpContext.Request.Method; <4>获取请求地址: string Url = HttpContext.Request.Path; <5>获取UserAgent浏览器信息: string UserAgent = HttpContext.Request.Headers["User-Agent"].FirstOrDefault();

(2).netcore中的Response使用:

<1>输出字符串: 输出字符串前要先进行Response.ContentType = "text/html;charset=UTF-8";防止中文乱码 Response.Body.WriteAsync(System.Text.Encoding.UTF8.GetBytes("xx")); <2>获得项目根目录 string rootpath = _webHostEnvironment.ContentRootPath; <3>获得静态资源根目录 string WebRootPath = _webHostEnvironment.WebRootPath; <4>编码解码 编码,解码 处理特殊字符串例如:#,+ WebUtility.UrlEncode("C#");//编码 WebUtility.UrlDecode("C#");//解码

(3).netcore中的Session使用:

使用session要更新 Startup.cs 使用需要的服务: public void ConfigureServices(IServiceCollection services) { services.AddSession(); } 然后在Configure类中再启动session中间件 app.Usesession(); tips:netcore 2.2后可以直接启用session,不用自己再一次添加session依赖,本身就添加了 存储session HttpContext.Session.SetString("key","value"); 取出session HttpContext.Session.GetString("key"); 与.netframework相比.netcore的session不能直接存储对象 session存储对象: 这里要运用到序列化和反序列化