框架兼容性
你提到将使用ASP.Net Core,可以与.Net Core或'完整的'.Net Framework(例如.Net Framework 4.5.1)一起使用,并可在project.json
下的frameworks
属性中指定。
Microsoft DocumentDB本机.Net客户端不支持.Net Core;因此,您必须将ASP.Net Core配置为针对'完整的'.Net Framework。如果您不确定如何操作,可以在Visual Studio 2015中创建一个新项目,并选择“ASP.Net Core(.Net Framework)”项目模板;project.json
将为您正确配置framework
属性。
'Identity'版本
有几个版本的ASP.Net Identity;在选择提供程序时要注意,大多数当前引用ASP.Net Identity 2.2.1;然而,最新版本是3,与ASP.Net Core一同发布,由NuGet包Microsoft.AspNetCore.Identity 1.0.0支持,具有一些差异和附加功能。(请注意,您可以将此后者包与完整的.Net Framework一起使用。)
没有官方实现
Microsoft决定不为ASP.Net Identity创建官方的DocumentDB实现,理由是“有两个社区项目可用”(参考这里)
第三方支持
在可用的第三方实现中,Adrian Fernandez开发的这个实现是最常用的提供对使用Microsoft原生DocumentDB客户端的ASP.Net Identity 3的支持。GitHub代码库中包含示例。(请参见下面的更新。) 示例用法 在此处可以找到一个使用此DocumentDB提供程序的ASP.Net示例,包括其他功能:链接。netstandard1.6
和net46
配置文件。最好的解决方案是使用.NET Core Identity框架的DocumentDB提供程序。但迄今为止还没有,这就是我创建AspNetCore.Identity.DocumentDB并决定在GitHub上以MIT许可证发布它的原因。
它是现有的.NET Core Identity mongodb提供程序的端口,将Claims、Tokens和Logins存储为嵌套对象。虽然可以使用mongodb接口使用DocumentDB,但建议尽可能使用本机SDK。
该库已经相当稳定,并作为NuGet包提供。
注意: C#的DocumentDB SDK本身不支持.NET Core作为目标平台的稳定版本。幸运的是,微软已经在添加.NET Core支持,并在Connect(); 2016事件中发布了一个带有.NET Standard支持的DocumentDB SDK预览版。 AspNetCore.Identity.DocumentDB支持两个SDK。
.NET Standard是一种API规范,应该在所有.NET运行时中可用,目前由.NET Core和.NET Framework支持。