0

Azure Web アプリにデプロイされた Web アプリがあります。webappでは、Entity Frameworkを使用してMembershipRebootを使用しています。Sql Server データベースも Azure にあります。

BitBucket 統合と継続的デプロイを介して、ステージング スロットにデプロイされます。

ビルド プロセスの一部として、web.config 変換により、接続文字列の値が "dummy" に変更されます。

これを、Azure portal で MembershipReboot という名前の接続文字列に設定します。

アプリケーションを参照すると、次のエラーが表示されます。

Format of the initialization string does not conform to specification starting at index 0.

web.config の接続文字列を Sql Azure 接続文字列に変更すると、アプリは正常に読み込まれます。「ダミー」に戻すと、上記のエラーが発生します。

これは、Azure portal で設定された接続文字列がアプリケーションによって取得されていないことを示しています。

この Azure 環境は、ARM テンプレート デプロイをいくつかの Azure PowerShell コマンドと組み合わせて使用​​して作成しました。同じ問題で、手動でも環境を作成しようとしました。

次に何を見るべきかについてのアイデアはありますか?

編集: 言うまでもなく、正しい接続文字列は Kudu 内で表示できます。

4

1 に答える 1

0

これを修正することができました。

これは、環境が正しい接続文字列を提供する前に、StructureMap が呼び出され、(global.asax を介して) データベース コンテキストが作成されたためです。

私たちの場合、アプリは Owin スタートアップと global.asax Application_Start を混在させていました。global.asax スタートアップを Owin スタートアップに移動し、そのスタートアップ中にデータベース コンテキストが作成されないようにする必要がありました。後者を実行できたのではないかと思います。

于 2015-09-09T09:21:28.430 に答える