4

私はAppHarborにアプリケーションを持っており、ついにそれを動作させました。私には分かりませんが、私のメンバーシップ・プロバイダーが働くようになっています。私は自分のデータベースにMongoLabを使用していますが、残りのアプリケーションでうまく動作します。 、私は私がメンバーシップを使用しようと、私はこのエラーを取得する場合:AppHarborのMongoDBメンバーシッププロバイダ

Unable to connect to server localhost:27017: No connection could be made because the target machine actively refused it 127.0.0.1:27017. 

そして、問題のある行は、web.configファイルである:

<add name="MongoDBMembershipProvider" type="MongoDB.Web.Providers.MongoDBMembershipProvider".... 

は、誰かが私の状況にいくつかの光を当てるていただけますか?

答えて

4

friismに言及すると、appSettingからconnectionStringを読み取るコードが必要です。ありがたいことにosuritzはすでにgithubのMongoDB.Webのフォークで作業を行っています。

上記のフォークをダウンロードする必要があります。&新しいdllを使用するには、既存のdll参照を変更してください。その後

...

変更あなたの設定:

<appSettings> 
    <add key="MONGOLAB_URL" value="mongodb://localhost/ASPNETDB"/>  
</appSettings> 

...上記の値は、あなたが仕事アプリの他の部分を持っている場合、appharbor/mongolabに置き換え(および取得しますこれは

<providers> 
    <clear /> 
    <add name="MongoDBMembershipProvider" type="MongoDB.Web.Providers.MongoDBMembershipProvider" 
    applicationName="/" appSettingsConnectionStringKey="MONGOLAB_URL" collection="Users" 
     enablePasswordRetrieval="false" enablePasswordReset="true" requiresQuestionAndAnswer="false" requiresUniqueEmail="false" 
     maxInvalidPasswordAttempts="5" minRequiredPasswordLength="6" minRequiredNonalphanumericCharacters="0" passwordAttemptWindow="10" /> 
</providers> 

は、したがって、上記の設定で、それはappSettingsConnectionStringKeyパラメータを持っている)が正しいです。カスタマイズされたプロバイダ内のコードは、appSettingsConnectionStringKey値 'MONGOLAB_URL'を読み取り、それを使用してConfigurationManager.AppSettings ["MONGOLAB_URL"]を読み込み、明らかに上記のappsettingキー名と一致しなければなりません。

+0

に提示された新しいメンバーシッププロバイダーのポートです。成功しない、それは効果がありません。私はまた、connectionStringを手動で作成し、それを使用するようにプロバイダを設定することも同様に失敗しました。 – edobry

+0

失敗した場合でも、それでも例外がスローされますか? plsにはstacktraceが含まれます。現在のMongoDBMembershipProvider設定を提供することはできますか?どのバージョンのMongoDb.Webフォークをダウンロードしましたか? –

+0

設定エラーですので、スタックトレースはありません。私は最新のMongoDb.Webバージョンを使用しています。エラーのスクリーンショットは次のとおりです。http://i.imgur.com/PQ8zS.png – edobry

1

<membership defaultProvider="MongoMember"><providers><add connectionStringName="foo">には、おそらくMongoLab接続を持つ接続文字列の名前を指定する必要があります。残念ながら、これはconnectionstrings要素には挿入されていません。appSettingsにあります。おそらくプロバイダがappSettingsから接続文字列を読み取るようにする方法を理解する必要があります。

0

このプロジェクトを目的に使用することをお勧めしますhttp://extmongomembership.codeplex.com/。 AppHarborをすぐに使用することができます。

ちょうど書かここhttps://extmongomembership.codeplex.com/wikipage?title=AppHarbor%20Integration&referringTitle=Documentation

注意としてuseAppHarborプロバイダ設定に=「true」を追加する必要があります。これは私が持つことを試みたASP.NET MVC4

関連する問題