摘要:
我们可以用DbContext.Set<TEntity>()方法获取到一个DbSet<TEntity>对象,从而对泛型TEntity类所代表的数据库表进行CRUD操作。 例如我们现在有数据库表和TEntity类Person,那么下面两种写法是完全等价的: dbContext.Persons.Take( 阅读全文
摘要:
c# 调试程序时常常需要借助 call stack 查看调用堆栈,实际上通过code也可以获取: using System; using System.Diagnostics; namespace Stack { class Program { static void Main(string[] a 阅读全文
摘要:
问: 有些和地理位置相关的信息需要通过API 发送到后台服务. 除了放在JSON 格式的body里, 如果放在url中, 或者header中, 是否有隐私暴露的风险? 答: HTTPS 会加密 header 和 body,而 URL 中 hostname 之后的部分是存在于 header 中的。 但 阅读全文
摘要:
http的重定向我们经常是张口就来,整个流程也非常简单,服务端HTTP返回码是30x,头里面的Location字段代表新的URL。如下图所示: 但重定向也还是有需要深入探讨地方,返回码不仅有我们经常使用301和303还有302 307 308 它们有啥区别呢。可以按照是否缓存和重定向方法,两个维度去 阅读全文
摘要:
我们知道http响应状态码301和302是代表redirect跳转,在web浏览器中收到301和302状态码后,web浏览器会自动跳转到新的url,但是如果是ajax异步请求收到301和302状态码后会自动跳转吗? 答案是:对于http响应状态码301和302,ajax会自动跳转,详情查看下面的文章 阅读全文
摘要:
JWT的验证流程分为两个步骤: 1.签名验证 当接收方接收到一个JWT的时候,首先要对这个JWT的完整性进行验证,这个就是签名认证。它验证的方法其实很简单,只要把header做base64url解码,就能知道JWT用的什么算法做的签名,然后用这个算法,再次用同样的逻辑对header和payload做 阅读全文
摘要:
下面几篇文章阐述了,当Task在运行过程中发生了未处理异常时,在调用Task.Result, Task.Wait(), Task.WaitAll(), Task.WaitAny()时,都会抛出AggregateException异常。 下面的文章章节,阐述了如何在调用Task.Wait(),Task 阅读全文
摘要:
C#的关键字typeof可以用来获取未绑定的泛型类/接口(Unbound generic type)的Type类实例,未绑定的泛型类/接口(Unbound generic type)就是指没有指定类型参数的泛型类/接口,如下代码所示: using System; namespace NET5Unbo 阅读全文
摘要:
下面的文章阐述了C#中的is关键字: is operator (C# reference) is operator 下面的文章阐述了C#中的as关键字: as operator 下面的文章对C#中的is关键字和as关键字进行了比较: Is vs As operator keyword in C# 阅读全文
摘要:
如果你的ASP.NET Core服务最后会安装到Windows上运行,那么你肯定不想每次都开个控制台窗口来运行你的服务,因为这样每次开机你都需要手动打开你的服务,其次控制台窗口也容易被用户关掉,你的服务会意外地被终止运行。使用下面的方法可以快速地把你的ASP.NET Core程序做成Windows 阅读全文