2017-02-28 8 views
0

私はASP.Net WebAPIを使用しています。私が達成しようとしているのは、List<T>のすべてのリクエストを集めて、別の場所に一括して送信することです。基本的に私の要件は、リストがある程度の期間またはある程度の期間に達したときにのみバルクで送信することです。リクエストを収集してバルクで送信

List<T>はスレッドセーフではないので、ConcurrentBag<T>を使用する必要があります。しかし、以前に作成されたBagのインスタンスを取得するにはどうすればよいですか?

+0

あなたのサービスは1つのインスタンスであるため、コントローラにすべてのリクエストを登録してそのリクエストをそのリストに保存するとどうしてでしょうか。リストがあなたのしきい値に達すると、すべてのリクエストをまとめて送信します。 –

答えて

0
public class MyController : ApiController 
{ 
private IList<object> _requests; 

public MyController(){ 
    _requests = new List<object>(); 
} 

public void Post() 
{ 
    if (_requests.Count < SomeCounter) 
    _requests.Add(Request); 
    else 
    ...Send Bulk.. 

} 
} 
関連する問題