分类:
.net后台框架
1.Startup.cs
services.AddMemoryCache(); services.AddMvc();
2.封装Logger类
[Route("api/todo")]
[Authorize]
public class ToDoController : Controller
{
private readonly List<ToDo> _toDo;
private const string Key="TODO_KEY";
private readonly IMemoryCache _memoryCache;
public ToDoController(IMemoryCache memoryCache)
{
_memoryCache = memoryCache;
_toDo = new List<ToDo>() {
new ToDo{
Id=Guid.NewGuid(),
Title="吃饭",
Completed=true
},
new ToDo{
Id=Guid.NewGuid(),
Title="学习c#",
Completed=false
},
new ToDo{
Id=Guid.NewGuid(),
Title="学习EF",
Completed=false
},
};
if (!memoryCache.TryGetValue(Key,out List<ToDo> todos))
{
var options = new MemoryCacheEntryOptions()
.SetAbsoluteExpiration(TimeSpan.FromDays(1));
_memoryCache.Set(Key, todos, options);
}
}
[HttpGet]
public IActionResult Get()
{
if (!_memoryCache.TryGetValue(Key, out List<ToDo> todos))
{
todos = _toDo;
var options = new MemoryCacheEntryOptions()
.SetAbsoluteExpiration(TimeSpan.FromDays(1));
_memoryCache.Set(Key, todos, options);
}
return Ok(todos);
}
[HttpPost]
public IActionResult Post([FromBody]ToDoEdit toDoEdit)
{
var todo = new ToDo()
{
Id = Guid.NewGuid(),
Title = toDoEdit.Title,
Completed = toDoEdit.Completed
};
if (!_memoryCache.TryGetValue(Key, out List<ToDo> todos))
{
todos = _toDo;
}
todos.Add(todo);
var options = new MemoryCacheEntryOptions()
.SetAbsoluteExpiration(TimeSpan.FromDays(1));
_memoryCache.Set(Key, todos, options);
return Ok(todo);
}
}3.Model

public class ToDo
{
public Guid Id { get; set; }
public string Title { get; set; }
public bool Completed { get; set; }
}public class ToDoEdit
{
public string Title { get; set; }
public bool Completed { get; set; }
}欢迎加群讨论技术,1群:677373950(满了,可以加,但通过不了),2群:656732739
评价
排名
6
文章
6
粉丝
16
评论
8
{{item.articleTitle}}
{{item.blogName}} : {{item.content}}
ICP备案 :渝ICP备18016597号-1
网站信息:2018-2025TNBLOG.NET
技术交流:群号656732739
联系我们:contact@tnblog.net
公网安备:
50010702506256
50010702506256
欢迎加群交流技术