3

再会!

我正在尝试从我的 .NET 4.0 (Visual Studio 2010) ASP.NET Web 应用程序中获取本地成员数据库设置。

我这样做:

1)文件->新建->项目->“ASP.NET Web应用程序”

2) 编译应用程序。

3) 打开“ASP.NET 配置工具”,单击“安全”选项卡。

我明白了:

There is a problem with your selected data store. This can be caused by an invalid
server name or credentials, or by insufficient permission. It can also be caused by the
role manager feature not being enabled. Click the button below to be redirected to a page
where you can choose a new data store. 

The following message may help in diagnosing the problem: Could not load type 'WebApplication3.Global'. 

这是我的 web.config 文件:

 <configuration>
  <connectionStrings>
    <add name="ApplicationServices"
         connectionString="data source=.\SQLEXPRESS;Integrated Security=SSPI;AttachDBFilename=|DataDirectory|\aspnetdb.mdf;User Instance=true"
         providerName="System.Data.SqlClient" />
  </connectionStrings>

  <system.web>
    <compilation debug="true" targetFramework="4.0" />

    <authentication mode="Forms">
      <forms loginUrl="~/Account/Login.aspx" timeout="2880" />
    </authentication>

    <membership>
      <providers>
        <clear/>
        <add name="AspNetSqlMembershipProvider" type="System.Web.Security.SqlMembershipProvider" connectionStringName="ApplicationServices"
             enablePasswordRetrieval="false" enablePasswordReset="true" requiresQuestionAndAnswer="false" requiresUniqueEmail="false"
             maxInvalidPasswordAttempts="5" minRequiredPasswordLength="6" minRequiredNonalphanumericCharacters="0" passwordAttemptWindow="10"
             applicationName="WebApplication3" />
      </providers>
    </membership>

    <profile>
      <providers>
        <clear/>
        <add name="AspNetSqlProfileProvider" type="System.Web.Profile.SqlProfileProvider" connectionStringName="ApplicationServices" applicationName="WebApplication3"/>
      </providers>
    </profile>

    <roleManager enabled="true">
      <providers>
        <clear/>
        <add name="AspNetSqlRoleProvider" type="System.Web.Security.SqlRoleProvider" connectionStringName="ApplicationServices" applicationName="WebApplication3" />
        <add name="AspNetWindowsTokenRoleProvider" type="System.Web.Security.WindowsTokenRoleProvider" applicationName="WebApplication3" />
      </providers>
    </roleManager>

  </system.web>

  <system.webServer>
     <modules runAllManagedModulesForAllRequests="true"/>
  </system.webServer>
</configuration>

我有点期待它开箱即用。roleManager我根据其他一些 stackoverflow 帖子(启用等)对 web.config 进行了一些更改。

我的 App_Data 目录中也没有 .mdf 文件。如果我尝试添加一个,我会得到:

在此处输入图像描述

我只想为我的身份验证信息使用专用的本地数据库。

有任何想法吗?

4

3 回答 3

0

你可以试试SQL Server Compact 版本。它的目标是更小更容易与您的 asp.net Web 应用程序一起分发。

于 2013-04-17T22:00:55.787 回答
0

您使用的会员资格提供商已过时。您想使用新的ASP.NET Universal Providers

无论哪种方式,您都需要至少安装SQL Express才能对其进行测试。

于 2013-04-18T04:04:20.440 回答
0
于 2013-04-18T01:22:56.440 回答