28

クラウド上にデプロイされたアプリケーションのバージョンでいくつかの問題に直面しています。

このアプリケーションは、ADO .NET Entity Framework を使用した ASP.NET MVC 3 プロジェクトです。

msdn ブログによると、データベース接続文字列にパラメーター 'MultipleActiveResultSets=True' (SQL azure を使用する Entity Framework の場合) を追加する必要がありますが、これは正しく行いました。

アプリケーションからデータベース クエリを実行しているときに、次の例外が発生します。「このコマンドに関連付けられている DataReader が既に開いているため、最初に閉じる必要があります。」これは、「MultipleActiveResultSets=True」プロパティに非常に関連していると思います。

アプリケーションは、ローカルにデプロイされたデータベースを使用するローカル環境でも、SQL azure データベース (ローカル環境) を使用しても正常に動作します。

しかし、クラウドのアプリケーションをデプロイすると、上記のエラーが発生します。「MultipleActiveResultSets=True」プロパティが接続文字列から読み取られていないようです。

私が使用している接続文字列は次のとおりです。

    <connectionStrings>
        <add name="#DBInstanceName#" connectionString="Data Source=tcp:#server#.database.windows.net,1433;Initial Catalog=#DBName#;User ID=”UserName#@#server#;Password=”#password#”;MultipleActiveResultSets=True" providerName="System.Data.SqlClient"/>
    </connectionStrings>

上記の接続文字列を使用して、ローカルにデプロイされたアプリケーションから例外なく SQL Azure データベースに接続できます。しかし、同じ接続文字列を使用してクラウドにデプロイされた同じアプリケーションで、上記のエラーが発生します。

同じ問題を解決するのを手伝ってくれませんか?

4

6 に答える 6

47

私はちょうど同じ問題を抱えています。Web.config 接続で「MultipleActiveResultSets=True」を設定しようとしましたが、結果はありません。最後に、Web サイトの Azure ダッシュボードで接続文字列を直接手動で編集することで問題を解決しました - [構成] タブには、「MultipleActiveResultSets=True;」を手動で追加する必要がある「接続文字列」設定があります。ストリング。それをした後、ようやくMARSが機能しました。

于 2012-12-03T04:24:10.320 に答える
13

または、"MultipleActiveResultSets=true" を接続文字列に追加して、Visual Studio で発行機能を使用している場合に、送信先の web.config を更新することもできます。「実行時にこの接続文字列を使用する (更新先 web.config)」を必ず選択してください。ここに画像の説明を入力

于 2014-06-13T04:05:48.300 に答える
3

connectionsstring で multipleresultsets=true を設定して再起動する必要があります。

回答を削除しました

編集:これは議論されています!下のコメントを確認してください...調査する時間がありません...

すでにオンになっていると思います。

正確な情報源は見つかりませんでしたが、Faisal Mohamood (エンティティ フレームワークのプログラム マネージャー) は 2010 年に次のように述べています。製品の次のアップデートのリリースに向けて」ここで見つけました: http://blogs.msdn.com/b/adonet/archive/2010/06/09/remember-to-re-enable-mars-in-your-sql-azure-based-ef-apps。 aspx

于 2012-10-29T19:05:21.863 に答える
0

コードで MultipleActiveResultSets を割り当ててみてください。読み取られていないか、機能していませんか?

SqlConnectionStringBuilder.MultipleActiveResultSets

于 2012-10-02T14:52:43.603 に答える