我试图将来自外部身份验证服务的用户数据存储在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/

10-12 12:49