使用PostgreSQL和dev.nauck.AspSQLProvider的ASP.NET成员资格

我正在尝试使用Daniel Nauck创建的Postgresql成员资格提供程序
http://dev.nauck-it.de/projects/aspsqlprovider
对于ASP.NET Web应用程序(C#),并按照给出的配置说明进行操作

http://dev.nauck-it.de/projects/1/wiki/Install?version=11

我用nuget安装了Npgsql和Membership provider:

Install-Package Npgsql
Install-Package Nauck.PostgresqlProvider

访问project-configuration-website上的“安全”选项卡时,出现以下错误

exepath must be specified when not running inside a stand alone exe

我将给定的sql成员资格表添加到我的postgres数据库并指定了连接字符串,以及web.config文件中的给定配置.

web.config中:

<configuration>

  <connectionStrings>
    <add name="Postgresql" connectionString="Server=localhost;Port=5432;Database=mydb;User Id=postgres;Password=mypassword;Encoding=UNICODE;Sslmode=Prefer;Pooling=true;" />
  </connectionStrings>

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

    <membership defaultProvider="pgmembershipProvider">
      <providers>
        <clear />
        <add name="pgmembershipProvider" type="NauckIT.PostgresqlProvider.pgmembershipProvider" connectionStringName="Postgresql" requiresUniqueEmail="true" enablePasswordRetrieval="false" enablePasswordReset="true" requiresQuestionAndAnswer="true" passwordFormat="Hashed" applicationName="AquilaWeb" />
      </providers>
    </membership>

    <roleManager enabled="true" defaultProvider="PgRoleProvider" cacheRolesInCookie="true" cookieName=".AspNetRoles" cookiePath="/" cookieProtection="All" cookieRequireSSL="false" cookieSlidingExpiration="true" createPersistentCookie="false" cookieTimeout="30" maxCachedResults="25">
      <providers>
        <clear />
        <add name="PgRoleProvider" type="NauckIT.PostgresqlProvider.PgRoleProvider" connectionStringName="Postgresql" applicationName="AquilaWeb" />
      </providers>
    </roleManager>

    <profile enabled="true" defaultProvider="PgProfileProvider">
      <providers>
        <clear />
        <add name="PgProfileProvider" type="NauckIT.PostgresqlProvider.PgProfileProvider" connectionStringName="Postgresql" applicationName="AquilaWeb" />
      </providers>
      <properties>
        <add name="FirstName" />
        <add name="LastName" />
      </properties>
    </profile>

    <sessionState mode="Custom" customProvider="PgSessionStateStoreProvider">
      <providers>
        <clear/>
        <add name="PgSessionStateStoreProvider" type="NauckIT.PostgresqlProvider.PgSessionStateStoreProvider" enableExpiredSessionAutoDeletion="true" expiredSessionAutoDeletionInterval="60000" enableSessionExpireCallback="false" connectionStringName="Postgresql" applicationName="AquilaWeb" />
      </providers>
    </sessionState>

  </system.web>

  <runtime>
    <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
      <dependentAssembly>
        <assemblyIdentity name="Npgsql" publicKeyToken="5d8b90d52f46fda7" culture="neutral" />
        <bindingRedirect oldVersion="0.0.0.0-2.0.12.0" newVersion="2.0.12.0" />
      </dependentAssembly>
    </assemblyBinding>
  </runtime>

</configuration>

解决方法

您可能想尝试提供程序的版本 2.0.0.它包含ASP.NET 4中托管环境检测的错误修复

您可以在NuGet获取最新版本.

文档可在project wiki获得.

相关文章

项目需要,有个数据需要导入,拿到手一开始以为是mysql,结果...
本文小编为大家详细介绍“怎么查看PostgreSQL数据库中所有表...
错误现象问题原因这是在远程连接时pg_hba.conf文件没有配置正...
因本地资源有限,在公共测试环境搭建了PGsql环境,从数据库本...
wamp 环境 这个提示就是说你的版本低于10了。 先打印ph...
psycopg2.OperationalError: SSL SYSCALL error: EOF detect...