Solved

WCF server and client communication

Posted on 2009-07-15
3
848 Views
Last Modified: 2013-12-17
Hi everyone,

I've run into a bit of a complication with my WCF server app.  I'm trying to add an event handler to a custom object so that when the data changes the server calls all the clients that are subscribed to that particular object and notifies them of the update.  My problem is, how in the world do I call specific clients from the server?

 I know a bit about the CallBack feature but I'm unsure how I would only issue this to certain clients, and to my knowledge this only calls back one client, the one who initiated the call to begin with.  I hope this all makes sense.  It is crucial I figure this out to get my record locking mechanism to work.  I've attempted to search for this answer however I'm not too sure what to even search for so if someone could point me in the right direction I would sure appreciate it.  I am using VB so any examples in that format would be most helpful though I'd settle for C#.


Thanks,
Casey


P.S. To elaborate on my intentions: A client requests edit privileges from the server and the server grants them.  The server then issues a lock command to the other client viewing the exact same record.  Those clients will see a padlock appear showing the record is locked and cannot be edited until released by the editor.  When the editor saves the record, the server should call all other subscribed clients and tell them to update and unlock.  Hope this makes it a bit clearer.
0
Comment
Question by:thesnoman
3 Comments
 
LVL 22

Assisted Solution

by:p_davis
p_davis earned 100 total points
ID: 24865837
you can do this with the post or send callback framework -- with this you will have to have all clients subscribe to your service that is in question and when a client sends an update/create/delete request to this service you can check the callbackchannel and exclude the current subscriber from the updates and fire the rest.

you will need to hold a static list of all subscribers.
you will also need to delete subscribers tha thave a failed connection (it will save you a little speed in the end).

i realize that this is a vague reply to your question but i am hoping to give you a start. with wcf it is important that you dig into the framework with clues from others. the documentation is at best, crappy. unless you really know what you are looking for.
0
 
LVL 25

Accepted Solution

by:
apeter earned 150 total points
ID: 24866579
0
 

Author Closing Comment

by:thesnoman
ID: 31604070
I appreciate both of your replys.  apeter's led me to saving the context of the clients connection to the service on the server which is what I was needing to find out more about so that's the reason I split the points for both of you but awarded more to him.  Thanks again for the help!
0

Featured Post

DevOps Toolchain Recommendations

Read this Gartner Research Note and discover how your IT organization can automate and optimize DevOps processes using a toolchain architecture.

Question has a verified solution.

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

Article by: Martin
Here are a few simple, working, games that you can use as-is or as the basis for your own games. Tic-Tac-Toe This is one of the simplest of all games.   The game allows for a choice of who goes first and keeps track of the number of wins for…
This article shows how to deploy dynamic backgrounds to computers depending on the aspect ratio of display
Get people started with the process of using Access VBA to control Outlook using automation, Microsoft Access can control other applications. An example is the ability to programmatically talk to Microsoft Outlook. Using automation, an Access applic…
Show developers how to use a criteria form to limit the data that appears on an Access report. It is a common requirement that users can specify the criteria for a report at runtime. The easiest way to accomplish this is using a criteria form that a…

831 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