Display query results in ASP.NET
-
2012년 2월 27일 월요일 오후 3:06
Hello,
I want to display results of a continuous query (say 1000 events / sec) in an ASP.NET Web app. High frequencies like that would cause the app to drown (too many postbacks every second). Currently I'm using an UpdatePanel with a Timer.
I posted this question in the ASP.NET forum (here and here) and I'm not very satisfied with the answers I got, this is why I came here. The only reasonable suggestion for me seems to be SilverLight, which can work in a push manner from what I read, but that's virgin territory for me.
Any thoughts?
Thanks.
모든 응답
-
2012년 2월 27일 월요일 오후 5:47
Could you go into more detail as to the context of the scenario you're trying to implement? Curious about:
- What's the end-user visualization (for most data visualizations, going beyond 2-3 Hz tends not to convey much more information)?
- How often would you need to update the visualization?
- Are the updates sparse or consistent?
- How many connected clients (i.e. how many distribution channels will query results need to be multiplexed into)?
In order to make this work at even 10 updates a second you're going to need a fairly rich client side experience (typically Silverlight). The crux isn't so much being able to push data (if you're on a periodic cycle of retrieving data push or pull can be equally effective), but how efficiently you can batch updates to the visualization component.
- 답변으로 표시됨 Roman SchindlauerMicrosoft Employee 2012년 4월 30일 월요일 오전 6:52
-
2012년 2월 28일 화요일 오후 3:06
First, I would agree with Mark ... you'll need a rich visualization client - either Silverlight or WPF/WinForms. WPF has some pretty clear advantages when it comes to visualization over WinForms and doesn't have the security restrictions of Silverlight but isn't as easily deployable.
Second, you'll need to aggregate, downsample and filter the data ... there's no two ways about it. You simply won't be able to realistically update the UI that quickly, the user wouldn't really be able to make sense of data coming down quickly you'll also want to be smart about bandwidth utilization.
If raw/pure ASP.NET is the only way to do it (and I'd really encourage you to not use ASP.NET), you'll have to either use a durable store or an output adapter that caches last known values and provides a service interface for the client to ASP.NET client to attach to. Full postbacks are VERY expensive - you'll want to use something that leverages AJAX and, possible JQuery for updates to minimize the data going back and forth.
DevBiker (aka J Sawyer)
My Blog
My Bike - Concours 14
If I answered your question, please mark as answer.
If my post was helpful, please mark as helpful.- 답변으로 표시됨 Roman SchindlauerMicrosoft Employee 2012년 4월 30일 월요일 오전 6:52
-
2012년 3월 2일 금요일 오전 12:26I've not tried this but it looks like an interesting possibility: Using SignalR To Push StreamInsight Events to Client Browsers.
DevBiker (aka J Sawyer)
My Blog
My Bike - Concours 14
If I answered your question, please mark as answer.
If my post was helpful, please mark as helpful.

