4

我試圖使用由丹尼爾Nauck http://dev.nauck-it.de/projects/aspsqlprovider 創建的PostgreSQL會員提供商ASP.NET Web應用程序(C#),隨後在ASP.NET成員與PostgreSQL和dev.nauck.AspSQLProvider

給出的配置說明

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

我已經Npgsql的安裝,並與的NuGet成員資格提供:

Install-Package Npgsql 
Install-Package Nauck.PostgreSQLProvider 

當訪問 「安全」 選項卡項目配置-網站上,我得到以下錯誤:

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> 

回答

3

你可能想嘗試的提供2.0.0版本。它包含一個bug修復ASP.NET 4+中的宿主環境檢測

您可以抓取NuGet上的最新版本。

文檔可在project wiki上找到。

+1

我不確定這是否有竅門,但我升級到版本2.0並重新安裝過程,現在它的工作。所以,感謝您指出新版本! – Hitchhiker