?
Solved

.NET Remoting - Help with [OneWay] calls for live data system

Posted on 2008-10-15
2
Medium Priority
?
614 Views
Last Modified: 2013-12-17
Hi All,
We have a live data system which calculates and aggregates price data from various live sources, and the aggregates it and pushes it to networked clients. The information is all live, and the performance of this is critical - i.e. if a price changes on the source this must be reflected almost immediately on the clients.
At the moment, our setup is something like this (simplified of course!):
- One singleton server object, which client obtain a proxy to through remoting.
- At client startup, the client registers with the server by calling a method on the server object. The server object stores a reference to the client.
- When a data update occurs, the server calls a method on each client reference to notify it that the data has changed. This method is marked with the [OneWay] attribute, for performance reasons.

All of the above is using remoting with a binary formatter and TCP channels. However, we seem to be 'loosing' some updates, and I suspect that this might be because the [OneWay] attribute ignores and errors from the clients.
Does this sound plausible? If I remove the [OneWay] attribute, what effect can I expect this to have on performance? Or could I invoke the method on the clients asyncronously and somehow check that the call was successful?
All opinions much appreciated!
Regards,
S Armondi
0
Comment
Question by:peddle
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
2 Comments
 
LVL 26

Accepted Solution

by:
Anurag Thakur earned 750 total points
ID: 22719516
MSDN documentation clearly states

The OneWayAttribute is used to indicate that the method has a void return and only in parameters. The method cannot throw any exceptions, and ref parameters and return values are not supported. The method can execute synchronously or asynchronously with respect to the caller. The caller cannot make assumptions that the one-way call has executed on the server object when thread control returns.
http://msdn.microsoft.com/en-us/library/system.runtime.remoting.messaging.onewayattribute.aspx

the following article puts more light on one way calls
http://www.informit.com/guides/content.aspx?g=dotnet&seqNum=619

i will suggest you to make Asynchronous calls to update so that you know if the updates have reached or not & if not then corrective actions can be taken
http://asp.dotnetheaven.com/howto/doc/Remoting/async.aspx
0
 
LVL 1

Author Closing Comment

by:peddle
ID: 31506277
Thank you - the last link was just what i needed.
0

Featured Post

Cloud Training Guides

FREE GUIDES: In-depth and hand-crafted Linux, AWS, OpenStack, DevOps, Azure, and Cloud training guides created by Linux Academy instructors and the community.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

In my previous two articles we discussed Binary Serialization (http://www.experts-exchange.com/A_4362.html) and XML Serialization (http://www.experts-exchange.com/A_4425.html). In this article we will try to know more about SOAP (Simple Object Acces…
This article shows how to deploy dynamic backgrounds to computers depending on the aspect ratio of display
This is my first video review of Microsoft Bookings, I will be doing a part two with a bit more information, but wanted to get this out to you folks.
This tutorial will teach you the special effect of super speed similar to the fictional character Wally West aka "The Flash" After Shake : http://www.videocopilot.net/presets/after_shake/ All lightning effects with instructions : http://www.mediaf…
Suggested Courses

764 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question