2

Breeze と Azure から始めたところです。サンプル アプリをダウンロードし、独自のコントローラーを追加しました。私のローカルマシンでは問題なく動作します。Azure サイトにデプロイすると、ページのログ セクションに次のエラーが表示され続けます: Query failed: Metadata query failed for: api/CoreData/Metadata; エラーが発生しました。

ビューを返すだけの Products という名前のコントローラーがあります。ビューには、CoreData ApiController への js 呼び出しが含まれています。サンプルに従います。

サーバーに記録される唯一のものは次のとおりです。 500

最初は EF を使用してデータにアクセスしていましたが、db の問題を解消するためにメモリ内オブジェクトを作成して返すだけに変更しました。

URL はhttp://acapella.azurewebsites.net/productsです。診断と調査にかなりの時間を費やしましたが、単純なことを見落としているように感じます。

ヘルプや提案をいただければ幸いです。

4

2 に答える 2

1

Azure Web サイトは無料で比較的簡単に Breeze アプリケーションをデプロイできる方法であり、さまざまなモバイル デバイスでテストして、アプリの応答性 (または応答性の欠如) を体験できます。

Breeze アプリを Azure Web サイトにプッシュすることに成功しましたが、あなたのようなものを含め、多くのつまずきがありました。

二つの思い。まず、Web.config で "カスタム エラーをオフ" にします。

<構成>
    <system.web>
        <customErrors mode="オフ"/>
    </system.web>
</設定>

2 つ目の推奨事項: MVC Web API アプリを Azure Web サイトにデプロイすることに関する John Papa の投稿をご覧ください。それは優れています。そして、私はそれが機能することを知っています。

近いうちにプロセスのビデオを公開したいと思っています。

于 2013-01-27T08:56:23.763 に答える
0

最初にできることは、例外を返すことです。Breeze コントローラーで次の操作を行います。

[HttpGet]
public string Metadata()
{
    try
    {
        return _contextProvider.Metadata();
    }
    catch (Exception e)
    {
        return e.Message + Environment.NewLine + Environment.NewLine + e.StackTrace;
    }
}

これにより、接続文字列に問題があることが明らかになりました。私が得た例外は次のとおりです。

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

私の接続文字列はローカルでは問題ないように見えましたが、問題は Azure にありました。私の web.release.config には正しい変換がありましたが、発行時に Visual Studio が別の接続文字列を追加しました。これを確認するには、FTP で Azure サイトに接続し、web.config を調べます。公開時に正しい接続文字列を選択して修正しました。

Azure への発行

その後、アップロードした web.config にはまだ 2 つの接続文字列があるように見えますが、少なくとも機能します。

于 2014-06-06T16:16:27.640 に答える