Asp.NetCore1.1版本去掉project.json后怎么打包生成跨平台包

  介绍

这篇文章将为大家详细讲解有关Asp.NetCore1.1版本去掉project.json后怎么打包生成跨平台包,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。

<强> AspNetCore中使用会话(基于MemoryCache组件)

这节内容看起来有点不符合文章标题,主要是只写生成跨平台包的内容太少,有些朋友觉得干活太少不满意,因此就用这如果使用会话来填充吧哈哈(我的理念是:一天一进步,哪怕一丁点);对于一个web程序来说会话存储通常有很多种方式,例如我前面文章有使用复述来存储会话的相关文章,那对于一个netcore项目来说默认会话存储的方式是MemoryCache的方式,可以这样在项目中的启动。cs文件中ConfigureServices方法增加如下代码片段:

services.AddDistributedMemoryCache ();   ,services.AddSession (b =比;   ,{=,,b.IdleTimeout  TimeSpan.FromMinutes (1); 5, b.CookieName =,“MySid";   以前,});

并在<强> 配置方法中添加<强> app.UseSession ();会话的使用,当把上面的代码片段复制到你程序中时,会提示一个小灯泡,需要你点击选择引用下对应的包,对于vs2017自动装了netcore的开发环境,所以只需要点击灯泡引用就行了,如果你没有装开发sdk,那么需要下载nuget包:<强> Microsoft.AspNetCore。会话强;第一段<强> services.AddDistributedMemoryCache() 主要作用是添加memorycache存储引用,第二段AddSession方法才是真正添加会话相关的东西,这里我用到的两个个属性:

1。IdleTimeout:设置会话过期时间,

2。CookieName:设置sessionId存储在客户端浏览器中关键的名称;

当完成上面步骤的操作后,可以在任意控制器(这里是HomeController)的行动中使用<强> HttpContext.Session。设置强方法添加会话:

public  IActionResult 约()   ,{   _logger.LogInformation才能(“这里是About");      var 才能;userInfo =,“我的NetCore之Session";   HttpContext.Session.Set才能(SessionKey, System.Text.Encoding.UTF8.GetBytes(用户信息));   视讯系统才能[“Message"],=,美元“读取配置文件Option1节点值:{this._options.Option1},添加session";   return 才能视图();   以前,}

再通过另外联系的行动中使用<强> HttpContext.Session。TryGetValue (SessionKey var bt) 来获取我们刚设置的会话:

public  IActionResult 接触()   ,{   var 才能;userInfo =, string.Empty;   if 才能;(HttpContext.Session.TryGetValue (SessionKey, out  var  bt))   {才能   时间=userInfo 才能;System.Text.Encoding.UTF8.GetString (bt);   ,,}      视讯系统才能[“Message"],=, string.IsNullOrWhiteSpace(用户信息),?,“会话获取为空,,:,用户信息;   return 才能视图();   以前,}

好了就这么简单,咋们运行看下效果:dontnet运行命令来运行测试站点,不出意外会在界面得到如下截图:

 Asp.NetCore1.1版本去掉项目。json后怎么打包生成跨平台包

通过浏览器控制台能够看到咋们的sessionId的名称是虾,这个正如我们在<强>启动。cs 设置的CookieName一样呢,,

<强> ISession扩展方法

上面用到组的方法来保存sesseion,咋们来看看她的参数<强>空集(字符串键,byte[]值);强键值对的方式,但是值是一个byte[]类型的参数,我们每次使用的时候都需要自己转一下数据类型感觉不是很方便,那么我们通过扩展方法的方式来扩展下ISession,如下扩展代码:

public  static  class  PublicExtensions   ,{   ,# region  ISession扩展      ,///& lt; summary>   ,///设置会话   ,///& lt;/summary>   ,///& lt; typeparam  name=癟"祝辞& lt;/typeparam>   ,///& lt; param  name=皊ession"祝辞& lt;/param>   ,///& lt; param  name=発ey"祝辞& lt;/param>   ,///& lt; param  name=皏al"祝辞& lt;/param>   ,///& lt; returns> & lt;/returns>   ,public  static  bool  Set< T>(却;能够ISession 会话,string 关键,,T  val)   ,{   if 才能;(string.IsNullOrWhiteSpace(键),| |,val ==, null), {, return 虚假,}      var 才能;strVal =, JsonConvert.SerializeObject (val);   var 才能;bb =, Encoding.UTF8.GetBytes (strVal);   session.Set才能(钥匙,,bb);   return 才能;真实;   ,}      ,///& lt; summary>   ,///获取会话   ,///& lt;/summary>   ,///& lt; typeparam  name=癟"祝辞& lt;/typeparam>   ,///& lt; param  name=皊ession"祝辞& lt;/param>   ,///& lt; param  name=発ey"祝辞& lt;/param>   ,///& lt; returns> & lt;/returns>   ,public  static  T  Get< T>(却;能够ISession 会话,string 键)   ,{   var 才能;t =,违约(T);   if 才能;(string.IsNullOrWhiteSpace(关键),{,return  t,}      if 才能;(session.TryGetValue(钥匙,,out  byte [], val))   {才能   var 才能;strVal =, Encoding.UTF8.GetString (val);   时间=t 才能;JsonConvert.DeserializeObject

Asp.NetCore1.1版本去掉project.json后怎么打包生成跨平台包