带有通用提供程序的 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=&quot;Data Source=C:\myentities.sdf&quot;" providerName="System.Data.EntityClient" />

该应用程序有效。但是当我尝试登录时,这是我得到的异常:

要调用此方法,“Membership.Provider”属性必须是“ExtendedMembershipProvider”的实例。

我还在 Web.config 中添加了&lt;add key="enableSimpleMembership" value="true" /&gt;,因为不同论坛上的某个人解决了这个问题。这不是我的情况,同样的错误仍然存​​在。

谁能帮帮我?

【问题讨论】:

只是好奇,你为什么要安装 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)?

带有大型数据源的 Kendo Chart 的 Ajax 请求上的 ASP.NET MVC 应用程序?

ASP.NET MVC:BLL 和 DAL 到存储库设计