Solved

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

Posted on 2008-10-15
2
602 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 250 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

PeopleSoft Has Never Been Easier

PeopleSoft Adoption Made Smooth & Simple!

On-The-Job Training Is made Intuitive & Easy With WalkMe's On-Screen Guidance Tool.  Claim Your Free WalkMe Account Now

Question has a verified solution.

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

In my previous article (http://www.experts-exchange.com/Programming/Languages/.NET/.NET_Framework_3.x/A_4362-Serialization-in-NET-1.html) we saw the basics of serialization and how types/objects can be serialized to Binary format. In this blog we wi…
Wouldn’t it be nice if you could test whether an element is contained in an array by using a Contains method just like the one available on List objects? Wouldn’t it be good if you could write code like this? (CODE) In .NET 3.5, this is possible…
There's a multitude of different network monitoring solutions out there, and you're probably wondering what makes NetCrunch so special. It's completely agentless, but does let you create an agent, if you desire. It offers powerful scalability …
Monitoring a network: why having a policy is the best policy? Michael Kulchisky, MCSE, MCSA, MCP, VTSP, VSP, CCSP outlines the enormous benefits of having a policy-based approach when monitoring medium and large networks. Software utilized in this v…

691 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