0
다음 요구 사항을 충족해야합니다. 14 개의 WCF 호출을 14 개의 디스플레이에서 "동기화 된"비디오를 시작하려면 "병렬"및 "동시에"수행해야합니다.가짜 병렬 WCF 서비스 호출은 최대한 빨리
인용구를주의 깊게 읽어보십시오. 실제로는 가능하지 않지만 가능한 한 가깝게하고 싶습니다.
나는 백그라운드 스레드를 사용하여 실험했으며 Parallel-statement와 결과는 대부분 꽤 좋은 시간이었다. 그러나 때로는 모든 서비스 호출 사이에 더 큰 지연이 있습니다.
내 코드는 다음과 같습니다 최적화를위한
BackgroundWorker worker = new BackgroundWorker();
worker.DoWork += delegate(object sender, DoWorkEventArgs e)
{
Parallel.For(0, myChannelControllers.Length, n =>
{
try
{
IMyService channel = myChannelControllers[n].GetChannel();
channel.VideoWallPlay(...);
myChannelControllers[n].CloseChannel(channel);
}
catch (...)
{
}
});
};
worker.RunWorkerAsync();
어떤 아이디어?
채널을 하나의 루프에서 가져옵니다. 그런 다음 다른 곳에서 놀고 닫습니다. GetChannel의 지연을 가져 오는 이유는 무엇입니까? – Paparazzi
고마워, 좋은 생각이야! 시도해 볼게.. – Max