我试图将来自外部身份验证服务的用户数据存储在DocumentDB中。成功登录Google后,出现以下错误:“无法找到请求的.Net Framework数据提供程序。可能未安装。”我究竟做错了什么?
这是源代码错误:
// Sign in the user with this external login provider if the user already has a login
var result = await SignInManager.ExternalSignInAsync(loginInfo, isPersistent: false);
switch (result)
{
堆栈跟踪的一部分:
[ArgumentException:无法找到请求的.Net Framework数据
提供者。它可能没有安装。]
System.Data.Common.DbProviderFactories.GetFactory(字符串
providerInvariantName)+948663
System.Data.Entity.Infrastructure.DependencyResolution.DefaultProviderFactoryResolver.GetService(Type
类型,对象键,Func`3 handleFailedLookup)+84
[ArgumentException:具有不变名称的ADO.NET提供程序
“ Microsoft.Azure.Documents.Client”未在
机器或应用程序配置文件,或者无法加载。见
内部异常以获取详细信息。]
以下是我的web.config的一些片段:
<connectionStrings>
<add name="DefaultConnection" connectionString="AccountEndpoint=[blah]" providerName="Microsoft.Azure.Documents.Client"/>
<system.web>
<authentication mode="None" />
使用我的存储库对其他数据进行CRUD时,DocumentDB可以正常工作。
最佳答案
对于DocumentDB,没有现成的Membership / role / etc asp.net提供程序。您需要为其创建自己的自定义提供程序。
关于c# - 将DocumentDB与表单例份验证和角色一起使用,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/33804574/