我目前正在开发一个使用 Mongo 作为后端的 ASP.Net Web 应用程序。我已经看到其他人尝试过这个,并更改了我的 Web.config 中的连接字符串,以指向我在 Heroku 上的 Mongo 实例。我的连接字符串格式如下:
mongodb://username:password@server.mlab.com:port/database
在创建新的 ASP.Net MVC 项目(选择了单个帐户(后构建的控制器和模型尚未编辑。我无法创建新帐户或使用通过Mongo创建的帐户登录。我还收到以下错误:
初始化字符串的格式不符合规范 从索引 0 开始。
我的研究表明,这通常是由于连接字符串格式不正确造成的。我已经双重和三重检查了我的 Mongo 连接字符串,但它看起来是正确的。我错过了什么吗?
任何帮助不胜感激!
---------------------------------------------
编辑
我注意到连接字符串中有providerName="System.Data.SqlClient"。删除此选项会产生不同的错误:
应用程序中的连接字符串"默认连接" 配置文件不包含所需的提供程序名称 属性。
如果您正在寻找支持 netstandard2.0 或 netcoreapp2.0 的 MongoDB 身份存储适配器,我最近发布了用于 Microsoft.AspNetCore.Identity 2.0 的 MongoDb UserStore 和 RoleStore 适配器。
它允许您在 Microsoft.AspNetCore.Identity 2.0 中使用 MongoDb 而不是 SQL Server:
https://github.com/alexandre-spieser/AspNetCore.Identity.MongoDbCore
我已经实现了RoleStore和UserStore。
完全涵盖来自修改后的Microsoft.AspNetCore.Identity.EntityFrameworkCore.Test 测试套件的集成测试和单元测试。
希望这有帮助。
默认 Asp.Net 标识存储提供程序正在使用适用于关系数据库的实体框架。MongoDB是一个文档数据库,仅更改连接字符串是行不通的。您需要使用可以与MongoDB一起使用的不同存储提供程序。
快速搜索显示,很少有存储提供商可以使用MongoDB:
- https://github.com/maxiomtech/MongoDB.AspNet.Identity
- https://github.com/g0t4/aspnet-identity-mongo
- https://github.com/steentottrup/AspNet.Identity.MongoDB
我个人没有尝试过其中任何一个,但第一个似乎在 GitHub 上很受欢迎。
下面是MongoDB身份的所有可用身份管理器中的最新一个。我个人觉得这是另一个有前途的NuGet包,用于使用MongoDB的Identity。绝对值得一试。
https://www.nuget.org/packages/AspNetCore.Identity.Mongo/
GitHub.com
https://github.com/matteofabbri/AspNetCore.Identity.Mongo