0

ドメイン サービスで長時間実行されている呼び出し操作のステータスを取得するためのポーリングに問題があります。具体的には、ステータスのポーリングに使用される呼び出し操作関数へのすべての呼び出しは、長時間実行される呼び出し操作が終了するまで返されません。

詳細は次のとおりです。

  1. RIA サービスで Silverlight 5 を使用しています。
  2. 私のサーバー側のドメイン サービス クラス (以下のコード例) では、RunLongOperation という名前の呼び出し操作で実行時間の長い操作があります。
  3. また、長時間実行オペレーションのステータスを取得する CheckStatusOfLongOperation という名前の 2 つ目のオペレーション呼び出し関数もあります。
  4. 私の Silverlight クライアントでは、RunLongOperation を呼び出します。その後、5 秒ごとに CheckStatusOfLongOperation を呼び出します。
  5. Fiddler によると、5 秒ごとに CheckStatusOfLongOperation が呼び出されています。ただし、RunLongOperation が完了するまで、どの呼び出しに対しても応答がありません。

CheckStatusOfLongOperation をより早く返すにはどうすればよいですか?

ASP.NET サーバー コード:

Public Class MyDomainService
    Inherits DomainService

    <Invoke()>
    Public Function RunLongOperation() As String

        'Long running operation, some database queries,
        'but mostly in-memory operations

    End Function

    <Invoke()>
    Public Function CheckStatusOfLongOperation() As String

        'Checks a single variable and return status

    End Function

End Class
4

1 に答える 1