带有通用提供程序的 ASP.NET MVC 4 中的错误
Posted
技术标签:
【中文标题】带有通用提供程序的 ASP.NET MVC 4 中的错误【英文标题】:Error in ASP.NET MVC 4 with Universal Providers 【发布时间】:2012-08-22 14:30:31 【问题描述】:我创建了一个全新的简单 ASP.NET MVC 4 Internet 项目,然后我使用 ADO.NET 实体数据模型设计器创建了模型,然后我安装了 System.Web.Providers(通用提供程序) 并配置 Web.config 以获得两个不同的数据源,均使用 SQL CE 4.0。
这些是我的连接字符串:
<add name="DefaultConnection" connectionString="Data Source=C:\maindb.sdf" providerName="System.Data.SqlServerCe.4.0" />
<add name="MyEntitiesModelContainer" connectionString="metadata=res://*/MyEntitiesModel.csdl|res://*/MyEntitiesModel.ssdl|res://*/MyEntities.msl;provider=System.Data.SqlServerCe.4.0;provider connection string="Data Source=C:\myentities.sdf"" providerName="System.Data.EntityClient" />
该应用程序有效。但是当我尝试登录时,这是我得到的异常:
要调用此方法,“Membership.Provider”属性必须是“ExtendedMembershipProvider”的实例。
我还在 Web.config 中添加了<add key="enableSimpleMembership" value="true" />
,因为不同论坛上的某个人解决了这个问题。这不是我的情况,同样的错误仍然存在。
谁能帮帮我?
【问题讨论】:
只是好奇,你为什么要安装 Universal Providers?现在在 MVC 4 中默认设置了 SimpleMembership。 Universal Providers 旨在为旧版 ASP.NET 成员提供在 Azure 和 Session 中工作的能力。你为什么安装它? :) 我想使用 SQL Compact Edition 来管理成员资格! :) 就像,您特别想要 ASP.NET 成员资格? MVC 4(开箱即用的 Internet 模板)使用新的 SimpleMembership,它适用于 SQL Compact。您不需要通用提供程序。顺便说一句,我是两个人的 PM。 :P 【参考方案1】:ASP.NET MVC4 附带简单的成员资格,并且简单的成员资格与 SQL CE 开箱即用,您不需要(实际上不能使用)具有简单成员资格的通用提供程序。
【讨论】:
【参考方案2】:来自thisASP.NET 论坛发帖:
感谢您的提示。现在我能够看到提供者是 被劫持了,我加了
<appSettings>
<add key="enableSimpleMembership" value="true" />
</appSettings>
现在似乎一切正常。
【讨论】:
对不起,我没有在 *** 上的“CODE”标签之间包裹 ,所以你看不到我的最后一段文字写过。以上是关于带有通用提供程序的 ASP.NET MVC 4 中的错误的主要内容,如果未能解决你的问题,请参考以下文章
实体框架探查器 - 带有 EF 6 的 ASP.NET MVC4 - 无法确定提供程序名称
在 asp.net mvc 4 中使用带有部分视图的 jQuery
带有权限代码的 ASP.NET MVC 4 自定义授权属性(无角色)
如何在 ASP.NET MVC 中使用通用处理程序 (ASHX)?