我是ASP.net MVC的新手。 在我的MVC应用程序中,我想要具有默认登录功能。 对于我的实体框架与应用程序的连接,我已经有这样的连接字符串,
<add name="TestDB2Entities" connectionString="metadata=res://*/EntittyModel.SchoolDBModel.csdl|res://*/EntittyModel.SchoolDBModel.ssdl|res://*/EntittyModel.SchoolDBModel.msl;provider=System.Data.SqlClient;provider connection string="data source=PRAGEETH-PC;initial catalog=TestDB2;user id=sa;password=sa123;MultipleActiveResultSets=True;App=EntityFramework"" providerName="System.Data.EntityClient" />
使用该连接字符串我尝试使用默认预先实现的登录功能的可用功能。我无法使用它并向我显示以下错误。
“无法找到请求的.Net Framework数据提供程序。有可能 没有安装。“
然后我尝试创建一个新的连接字符串,如下所示,然后它工作正常,
<add name="TestDB2Entities1" connectionString="data source=PRAGEETH-PC;initial catalog=TestDB2;uid=sa;pwd=sa123;integrated security=sspi" providerName="System.Data.SqlClient" />
但是我只需要一个连接字符串来适应这两种情况。是否可以有一个连接字符串而不是两个连接字符串?或者我的应用程序中有多个连接字符串可以吗?
答案 0 :(得分:0)
Prageeth,
假设您的意思是Visual Sutdio 2012中MVC 4 Internet应用程序模板的默认实现,那么您可以(并且应该)拥有单个连接字符串。在模板中,唯一一个最初位于InitializeSimpleMembershipAttribute
,但您需要添加更多(请参阅脚注)
您需要做的就是将UsersContext
类中的连接字符串名称设置为您自己的名称。在InitializeSimpleMembershipAttribute
班级以及对WebSecurity.InitializeDatabaseConnection
如果您使用的是代码优先(顺便提一下,这是您第一次使用SimpleMembership时最简单的方法),您还可以:
UserProfile
从UsersContext
移至您自己的上下文中,然后删除UsersContext
UsersContext
和AccountController
中InitializeSimpleMembershipAttribute
的引用更改为您自己的背景脚注
有关SimpleMembership是什么以及如何运作的详细信息,请参阅我对问题How do I use my own database with SimpleMembership and WebSecurity? What is MVC4 security all about?的回答,以及使用InitializeSimpleMembership的最简单方法,请参阅我对this question的回答