4

Web プロジェクトを作成してから Application Insights が有効になっている MVC5/WebAPI2 アプリケーションがあります。

オブジェクト (文字列、モデル オブジェクトなど) を返す WebApi メソッドは期待どおりに返され、JSON または XML にシリアル化されます。

 public class TestController : ApiController
{
    [HttpGet]
    [AllowAnonymous]
    async public Task<HttpResponseMessage> ReadString(int id) {

        HttpResponseMessage response = Request.CreateResponse();

        string str;
        using (HttpClient client = new HttpClient()) {
            Uri uri = new Uri("http://someurl.com/resource.rss");
            str = await client.GetStringAsync(uri);
        }

        response.Content = new StringContent(str);
        response.Content.Headers.ContentLength = str.Length;

        return response;
    }
}

HttpResponseMessage を返すアクションを作成したとき、ブラウザーで奇妙な動作に気付きました (Chrome と IE でテスト済み)。具体的には、コンテンツはブラウザーに返されましたが、[停止] ボタンを押すか、Web サーバー (Visual Studio 2013) を停止するまで、"ビジー" インジケーターの回転が停止しませんでした。

上記の方法が、Application Insights を使用しない Web アプリで期待どおりに機能することを確認しました。具体的には、データがブラウザーに返されると、応答が終了します。以下のメソッドが Application Insights を使用して新たに作成されたアプリに追加されると、前述の動作が発生します。

何かご意見は?

4

1 に答える 1