2017-02-28 1 views
0

ASP.Net WebAPI를 사용하고 있습니다. 내가 달성하고자하는 것은 List<T>에있는 모든 요청을 수집하여 다른 곳으로 대량 전송했습니다. 기본적으로 내 요구 사항은 목록이 일정 기간 또는 일정 기간에 도달 한 경우에만 대량으로 전송하는 것입니다.요청을 수집하여 대량으로 보냄

List<T>은 스레드로부터 안전하지 않으므로 ConcurrentBag<T>을 사용해야한다고 가정합니다. 하지만 이전에 만든 Bag의 인스턴스를 얻으려면 어떻게해야합니까?

+0

서비스가 단일 인스턴스이므로 모든 요청에 ​​대해 컨트롤러에 구성원을 만들고 그 때마다 수신 요청을 해당 목록에 저장하지 않는 것이 좋습니다. 목록이 임계 값에 도달하면 모든 요청을 대량으로 보내십시오. –

답변

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.. 

} 
} 
관련 문제