在article shanselman我试图使用“System.Web.Providers”后,您可以使用Sql Server Compact的成员资格,规则和配置文件。
我通过Nuget安装,创建了一个Users.sdf数据库并复制到App_Data文件夹。 我的Web.config如下:
<profile defaultProvider="DefaultProfileProvider">
<providers>
<clear />
<add
name="DefaultProfileProvider"
type="System.Web.Providers.DefaultProfileProvider"
connectionStringName="DefaultConnection"
applicationName="/" />
</providers>
</profile>
<membership defaultProvider="DefaultMembershipProvider">
<providers>
<clear />
<add connectionStringName="DefaultConnection" enablePasswordRetrieval="false"
enablePasswordReset="true" requiresQuestionAndAnswer="false"
requiresUniqueEmail="false" maxInvalidPasswordAttempts="5" minRequiredPasswordLength="6"
minRequiredNonalphanumericCharacters="0" passwordAttemptWindow="10"
applicationName="/" name="DefaultMembershipProvider" type="System.Web.Providers.DefaultMembershipProvider" />
</providers>
</membership>
<roleManager defaultProvider="DefaultRoleProvider">
<providers>
<clear />
<add connectionStringName="DefaultConnection" applicationName="/"
name="DefaultRoleProvider" type="System.Web.Providers.DefaultRoleProvider" />
</providers>
</roleManager>
<sessionState mode="Custom" customProvider="DefaultSessionProvider">
<providers>
<add
name="DefaultSessionProvider"
type="System.Web.Providers.DefaultSessionStateProvider"
connectionStringName="DefaultConnection"
applicationName="/" />
</providers>
</sessionState>
<connectionStrings>
<add name="Sql_CE" connectionString="Data Source=|DataDirectory|\Users.sdf;"
providerName="System.Data.SqlServerCe.4.0"/>
</connectionStrings>
我不能使用“aspnet_regsql”,因为它会生成基于SQL Server的表
尝试访问页面安全性上的“网站管理工具”时发生以下错误
您选择的问题 数据存储。这可能是由一个引起的 无效的服务器名称或凭据,或 没有足够的许可。它可以 也是由角色经理造成的 功能未启用。点击 下面的按钮被重定向到一个 您可以在其中选择新数据的页面 商店。
以下消息可能对您有所帮助 诊断问题: 预应用程序开始初始化 方法从类型开始 WebMatrix.WebData.PreApplicationStartCode 抛出以下例外情况 错误信息:此方法不能 在应用程序期间调用 预启动初始化阶段。
答案 0 :(得分:2)
首先将连接字符串重命名为DefaultConnection并删除Users.sdf前面的\,如下所示:
<connectionStrings>
<add name="DefaultConnection" connectionString="Data Source=|DataDirectory|Users.sdf;"
providerName="System.Data.SqlServerCe.4.0"/>
</connectionStrings>
你说你
创建了Users.sdf数据库
如何? Providers框架和SqlCe应该为您执行此操作。尝试从App_Data文件夹中删除Users.sdf,然后再次尝试访问“网站管理工具”。提供者引擎应该为您重新创建它。