入力を処理する遅い関数があります。関数が頻繁に呼び出される日中のピーク分があります。これにより、消費者側にラグが発生することは望ましくありません。したがって、この関数に作業をさせてから true を返すのではなく、関数が入力をキューに追加してから true を返すようにします。次に、キューが空になるまでバックグラウンドで処理されるようにします。
C#でこれを行う最良の方法を教えてください。
以下は、私が作業を開始したコードの例です。
namespace WCFServiceWebRole1
{
public class Service1 : IService1
{
public bool SlowFunction(string input)
{
// Here is a slow function that processes input...
return true;
}
}
}
namespace WCFServiceWebRole1
{
public class Service1 : IService1
{
public bool SlowFunction(string input)
{
AddToQueue(input);
return true;
}
}
}