.NET 4.5中的microsoft.identityModel和system.identityModel有什么区别

我可能不是第一个问,但我们现在应该使用哪一个?据我了解,它开始于一个非常小的WCF的System.IdentityModel.然后是Microsoft.IdentityModel类,它们增加了很多.这是 http://social.technet.microsoft.com/wiki/contents/articles/1898.aspx#v3q10的情况

但是现在在4.5中,我看到System.IdentityModel几乎都有来自Microsoft.IdentityModel的所有类(尽管似乎有一些重构,web.config中的配置略有不同).
现在,Microsoft预发布了一个JSON Web令牌处理程序作为nuget,它依赖于Microsoft.IdentityModel和System.IdentityModel. (JWTSecurityTokenHandler驻留在Microsoft.IdentityModel.Tokens.JWT中,派生自System.IdentityModel.Tokens.SecurityTokenHandler).

这变得非常混乱.有谁知道我应该使用哪一个

WIF 1.0版本是您从Microsoft下载“Windows Identity Foundation”时获得的,它的目标是.NET 3.5(并且与.NET 4.0兼容).由于它是一个带外版本,所有类型都必须存在于非核心命名空间(Microsoft.IdentityModel等)和非核心程序集中.

当前的WIF 4.5版本(如果我已经理解正确的话,他们跳进了版本编号)已直接集成到核心.NET 4.5 Framework中.最极端的例子,IClaimsPrincipal接口已被一个ClaimsPrincipal基类所取代,现在所有.NET IPrincipal实现都是从这个基类派生的 – 这直接在mscorlib.dll中.因此,System.IdentityModel等名称空间.

预发布的JWT Handler(nuget)当然是一个带外版本.如果它成为核心.NET vNext(假设当时JWT标准已经完成),我将不会感到惊讶,但在此之前,框架命名准则要求JWTSecurityTokenHandler等驻留在Microsoft.IdentityModel中.

我能理解你的困惑;我得到了帮助,因为我可以从头开始只使用.NET 4.5来担心 – 现在.

相关文章

Windows2012R2备用域控搭建 前置操作 域控主域控的主dns:自...
主域控角色迁移和夺取(转载) 转载自:http://yupeizhi.blo...
Windows2012R2 NTP时间同步 Windows2012R2里没有了internet时...
Windows注册表操作基础代码 Windows下对注册表进行操作使用的...
黑客常用WinAPI函数整理之前的博客写了很多关于Windows编程的...
一个简单的Windows Socket可复用框架说起网络编程,无非是建...