隨着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」],顯然,它必須與上面的應用程序密鑰名稱匹配。
我已經試過了與沒有成功,它沒有效果。我也嘗試手動創建一個connectionString並設置提供者使用它,同樣失敗。 – edobry 2012-03-25 16:00:18
當它失敗時,它是否仍然拋出異常?請包括堆棧跟蹤。你還可以提供你當前的MongoDBMembershipProvider配置嗎?你下載了什麼版本的MongoDb.Web分支? – 2012-03-26 05:47:31
這是一個配置錯誤,所以沒有堆棧跟蹤。我正在使用最新的MongoDb.Web版本。下面是錯誤的截圖:http://i.imgur.com/PQ8zS.png – edobry 2012-03-27 04:22:26