<?xml version="1.0"?><?xml-stylesheet type="text/xsl" href="http://code.msdn.microsoft.com/rss.xsl"?><rss version="2.0"><channel><title>WCF Event Publishing</title><link>http://code.msdn.microsoft.com/nbalagopal2/Project/ProjectRss.aspx</link><description>Simple Chat room using events and WCF. The Publisher Subscriber model can be easily and effectively implemented in .NET using events and delegates. But implementing the same over the network seems ...</description><item><title>NEW POST: Idle Timeout Error</title><link>http://code.msdn.microsoft.com/nbalagopal2/Thread/View.aspx?ThreadId=352</link><description>&lt;div class="wikidoc"&gt;
Hi&lt;br /&gt;I've got the same question. Any Idea? Because if there isn't a way to do this, this is just another useless example which will never ever work in practice.&lt;br /&gt;
&lt;/div&gt;</description><author>pinki</author><pubDate>Wed, 05 Nov 2008 19:10:46 GMT</pubDate><guid isPermaLink="false">NEW POST: Idle Timeout Error 20081105P</guid></item><item><title>NEW POST: Idle Timeout Error</title><link>http://code.msdn.microsoft.com/nbalagopal2/Thread/View.aspx?ThreadId=352</link><description>&lt;div class="wikidoc"&gt;
Hi,&lt;br /&gt; &lt;br /&gt;I am working on an application that uses this subscribe/publish method with WCF, and I'm running into an issue if, as in this code example, no chat is sent for a while (about 10 minutes I think), then invoking the RaiseBroadcastEvent method on the service will throw a CommunicationObjectAbortedException (message is &amp;quot;The operation 'ReceiveMessage' could not be completed because the sessionful channel timed out waiting to receive a message.  To increase the timeout, either set the receiveTimeout property on the binding in your configuration file, or set the ReceiveTimeout property on the Binding directly.&amp;quot;)&lt;br /&gt; &lt;br /&gt;Do you have any ideas on keeping this connection alive indefinately?&lt;br /&gt;
&lt;/div&gt;</description><author>erics</author><pubDate>Mon, 12 May 2008 23:10:14 GMT</pubDate><guid isPermaLink="false">NEW POST: Idle Timeout Error 20080512P</guid></item><item><title>NEW POST: Converting to VB.netHi</title><link>http://code.msdn.microsoft.com/nbalagopal2/Thread/View.aspx?ThreadId=329</link><description>&lt;div class="wikidoc"&gt;
o convert ther Service  from C# to vb.net Every thing Works Fine but the Private method  Iterate(ByVal e As EventArgs)&lt;br /&gt;is not properly working can some one please help me&lt;br /&gt;
&lt;/div&gt;</description><author>rashednadeem</author><pubDate>Fri, 02 May 2008 12:45:21 GMT</pubDate><guid isPermaLink="false">NEW POST: Converting to VB.netHi 20080502P</guid></item><item><title>NEW POST: Can this work though NAT and a firewall?</title><link>http://code.msdn.microsoft.com/nbalagopal2/Thread/View.aspx?ThreadId=328</link><description>&lt;div class="wikidoc"&gt;
I would like to get this to work from my work PC (behind a firewall) and my home PC (behind a NAT router). Any idea how to set this up?&lt;br /&gt; &lt;br /&gt;Thanks,&lt;br /&gt; &lt;br /&gt;Ian&lt;br /&gt;
&lt;/div&gt;</description><author>ianjb</author><pubDate>Wed, 30 Apr 2008 23:49:43 GMT</pubDate><guid isPermaLink="false">NEW POST: Can this work though NAT and a firewall? 20080430P</guid></item><item><title>NEW POST: WCF Clients: Stateless/Stateful</title><link>http://code.msdn.microsoft.com/nbalagopal2/Thread/View.aspx?ThreadId=285</link><description>&lt;div class="wikidoc"&gt;
hi,&lt;br /&gt; &lt;br /&gt;Now that i notice, the warning statement seems too scary..!! :) &lt;br /&gt;What i meant was, the client(the instance) should be running so that the service can return and invoke the callback method in the client instance. In case of a website, obviously the instance of the page is killed immediately after the call is complete(hence stateless). So for a web application this would obviously not work....&lt;br /&gt; &lt;br /&gt;If you are able to implement this for a web application using sessions, I am certainly interested in that. Please let me also know .... Thanks in advance. :)&lt;br /&gt; &lt;br /&gt;Thanks,&lt;br /&gt;Bala&lt;br /&gt;
&lt;/div&gt;</description><author>nbalagopal</author><pubDate>Fri, 18 Apr 2008 18:02:11 GMT</pubDate><guid isPermaLink="false">NEW POST: WCF Clients: Stateless/Stateful 20080418P</guid></item><item><title>NEW POST: WCF Clients: Stateless/Stateful</title><link>http://code.msdn.microsoft.com/nbalagopal2/Thread/View.aspx?ThreadId=285</link><description>&lt;div class="wikidoc"&gt;
Hello - Thanks for the sample - this was helpful.  I had a question about your comment on the homepage:&lt;br /&gt;&amp;quot;Before you read any further, please understand that this will work only for STATEFUL clients like Winforms and NOT for STATELESS clients like a web page. &amp;quot;&lt;br /&gt; &lt;br /&gt;Is it possible that using ASP.NET 3.5 with AJAX/server-side code, etc.  that a WCF client coded into the .NET web-application might be able to subscribe to a WCF event using your example and perhaps tied to the session somehow?  I'm just curious whether you strictly meant &amp;quot;any&amp;quot; webpage or simply meant that special considerations (and proper technology) were required on the client side, including some saved state information... &lt;br /&gt; &lt;br /&gt;Thanks,&lt;br /&gt;-rg&lt;br /&gt;
&lt;/div&gt;</description><author>rgrohsman</author><pubDate>Fri, 18 Apr 2008 03:02:16 GMT</pubDate><guid isPermaLink="false">NEW POST: WCF Clients: Stateless/Stateful 20080418A</guid></item><item><title>NEW POST: Please Stop using the "My" Prefix in Examples</title><link>http://code.msdn.microsoft.com/nbalagopal2/Thread/View.aspx?ThreadId=183</link><description>&lt;div class="wikidoc"&gt;
Thank you very much for the feedback.&lt;br /&gt; &lt;br /&gt;I appreciate your concern about the naming conventions, but the rest of the things which you have mentioned do not seem to relate to that. When you are starting a new thread, kindly make sure that it is meaningful and not just a whole essay where the first line is the only one that matters. :)&lt;br /&gt; &lt;br /&gt;About the &amp;quot;My&amp;quot; prefix, i agree to your line of thought but the comment does not seem constructive enough. The focus of this sample was on publishing events through WCF while you are commenting on the naming convention. Anyways I will certainly be careful with the names next time...!! :)&lt;br /&gt; &lt;br /&gt;Thanks for your time.&lt;br /&gt;Regards,&lt;br /&gt;Bala&lt;br /&gt;
&lt;/div&gt;</description><author>nbalagopal</author><pubDate>Wed, 16 Apr 2008 19:48:36 GMT</pubDate><guid isPermaLink="false">NEW POST: Please Stop using the "My" Prefix in Examples 20080416P</guid></item><item><title>NEW POST: Please Stop Using XML to Define Connection Settings</title><link>http://code.msdn.microsoft.com/nbalagopal2/Thread/View.aspx?ThreadId=185</link><description>&lt;div class="wikidoc"&gt;
Thank you very much for the feedback.&lt;br /&gt; &lt;br /&gt;But I strongly disagree to the point you have made here. First of all, this sample is not for illustrating the basics of WCF. It is to demonstrate the publisher subscriber implementation in WCF. I am sure you would also know that using XML or rather the config file for storing connection settings is the microsoft recommended way. If you couldn't make out how it works, I'll be glad to help. :) &lt;br /&gt; &lt;br /&gt;Thanks again,&lt;br /&gt;Bala&lt;br /&gt;
&lt;/div&gt;</description><author>nbalagopal</author><pubDate>Wed, 16 Apr 2008 19:40:36 GMT</pubDate><guid isPermaLink="false">NEW POST: Please Stop Using XML to Define Connection Settings 20080416P</guid></item><item><title>UPDATED WIKI: Home</title><link>http://code.msdn.microsoft.com/nbalagopal2/Wiki/View.aspx?title=Home&amp;version=10</link><description>&lt;div class="wikidoc"&gt;
&lt;h2&gt;
Chat Room application 
&lt;/h2&gt; &lt;br /&gt;The Publisher Subscriber model can be easily and effectively implemented in .NET using events and delegates. But implementing the same over the network seems to be a bit more challenging.The code sample provided demonstrates a simple chat room and it shows you how to go about setting up a publisher-subscriber architecture (using events) using WCF.&lt;br /&gt; &lt;br /&gt; &lt;br /&gt;&lt;h4&gt;
Before you read any further, please understand that this will work only for STATEFUL clients like Winforms and NOT for STATELESS clients like a web page.
&lt;/h4&gt; &lt;br /&gt;The client is a Winforms application and the Host is a Console application. &lt;br /&gt; &lt;br /&gt;The following areas of the technology have been leveraged:&lt;br /&gt;&lt;ul&gt;
&lt;li&gt;Ability of WCF to maintain sessions.&lt;/li&gt;&lt;li&gt;Duplex communication capability - WCF&lt;/li&gt;&lt;li&gt;Events and Delegates - .NET 2.0&lt;/li&gt;
&lt;/ul&gt; &lt;br /&gt;Obviously, you'll need .NET framework 3.0 or higher for the code sample to work.&lt;br /&gt; &lt;br /&gt;Here's screenshot of the client&lt;br /&gt;&lt;img src="http://code.msdn.microsoft.com/Project/Download/FileDownload.aspx?ProjectName=nbalagopal2&amp;amp;DownloadId=1203" alt="Client.jpg" /&gt;&lt;br /&gt;
&lt;/div&gt;</description><author>nbalagopal</author><pubDate>Wed, 19 Mar 2008 21:47:21 GMT</pubDate><guid isPermaLink="false">UPDATED WIKI: Home 20080319P</guid></item><item><title>NEW POST: Please Stop Using XML to Define Connection Settings</title><link>http://code.msdn.microsoft.com/nbalagopal2/Thread/View.aspx?ThreadId=185</link><description>&lt;div class="wikidoc"&gt;
To someone trying to figure out an example there is a disconnect between the settings being in the App.Config file and then magically being used by the service.  If you wrote out actual code to create the service and configure its settings you will show the programmer how to create these object instead of them being mystified.&lt;br /&gt; &lt;br /&gt;In addition it's a lot easier to use a Properties.Settings setting to modify the properties of the service and can be done programmatically. As it is I have no idea what or where the settings from system.serviceModel of the app.config file are read much less how to change them; I've got not object reference.&lt;br /&gt;
&lt;/div&gt;</description><author>CodeDaemon</author><pubDate>Tue, 18 Mar 2008 16:04:33 GMT</pubDate><guid isPermaLink="false">NEW POST: Please Stop Using XML to Define Connection Settings 20080318P</guid></item><item><title>NEW POST: Please Stop using the "My" Prefix in Examples</title><link>http://code.msdn.microsoft.com/nbalagopal2/Thread/View.aspx?ThreadId=183</link><description>&lt;div class="wikidoc"&gt;
Would you ever in a million years name an object with the prefix &amp;quot;My&amp;quot; in production code?  No.  So don't do it in your examples.  &lt;br /&gt; &lt;br /&gt;Basically you're saying, &amp;quot;Here is an example of how to do something but I personally would never do it that way.&amp;quot;  It's unprofessional and bad form to make an example that you wouldn't use and it's a REALLY bad teaching method.&lt;br /&gt; &lt;br /&gt;This is a major problem in all Microsoft examples.  I don't know for a fact but I strongly suspect that interns are tasked with writing the examples and while a Microsoft intern is probably one of the smartest interns on the face of the planet they clearly don't have any practical experience.   &lt;br /&gt; &lt;br /&gt;I remember looking up a Microsoft example for using sockets and there was a major bug in the code, I believe it was they didn't wait for the socket to close before exiting the function.  This caused my application to hang after it tried to open and close a certain number of sockets. This kind of serious flaw would never be introduced by someone with experience as they would know about this pitfall and would have absolutely mentioned it.&lt;br /&gt; &lt;br /&gt;It's like you make a car that will explode and catch on fire if you honk the horn three times and turn on the lights but you don't bother telling anyone about it.&lt;br /&gt; &lt;br /&gt;&lt;a href="http://code.msdn.microsoft.com/nbalagopal2/Wiki/View.aspx?title=%2frant%20off"&gt;/rant off&lt;/a&gt;&lt;br /&gt;
&lt;/div&gt;</description><author>CodeDaemon</author><pubDate>Tue, 18 Mar 2008 15:48:06 GMT</pubDate><guid isPermaLink="false">NEW POST: Please Stop using the "My" Prefix in Examples 20080318P</guid></item><item><title>UPDATED WIKI: Home</title><link>http://code.msdn.microsoft.com/nbalagopal2/Wiki/View.aspx?title=Home&amp;version=8</link><description>&lt;div class="wikidoc"&gt;
&lt;h2&gt;
Chat Room application 
&lt;/h2&gt;The Publisher Subscriber model can be easily and effectively implemented in .NET using events and delegates. But implementing the same over the network seems to be a bit more challenging.The code sample provided demonstrates a simple chat room and it shows you how to go about setting up a publisher-subscriber architecture (using events) using WCF.&lt;br /&gt; &lt;br /&gt; &lt;br /&gt;&lt;h4&gt;
Before you read any further, please understand that this will work only for STATEFUL clients like Winforms and NOT for STATELESS clients like a web page.
&lt;/h4&gt; &lt;br /&gt;The client is a Winforms application and the Host is a Console application. &lt;br /&gt; &lt;br /&gt;The following areas of the technology have been leveraged:&lt;br /&gt;&lt;ul&gt;
&lt;li&gt;Ability of WCF to maintain sessions.&lt;/li&gt;&lt;li&gt;Duplex communication capability - WCF&lt;/li&gt;&lt;li&gt;Events and Delegates - .NET 2.0&lt;/li&gt;
&lt;/ul&gt; &lt;br /&gt;Obviously, you'll need .NET framework 3.0 or higher for the code sample to work.&lt;br /&gt; &lt;br /&gt;&lt;img src="http://code.msdn.microsoft.com/Project/Download/FileDownload.aspx?ProjectName=nbalagopal2&amp;amp;DownloadId=1202" alt="Service.jpg" /&gt;&lt;br /&gt;
&lt;/div&gt;</description><author>nbalagopal</author><pubDate>Thu, 13 Mar 2008 23:45:17 GMT</pubDate><guid isPermaLink="false">UPDATED WIKI: Home 20080313P</guid></item><item><title>UPDATED WIKI: Home</title><link>http://code.msdn.microsoft.com/nbalagopal2/Wiki/View.aspx?title=Home&amp;version=7</link><description>&lt;div class="wikidoc"&gt;
&lt;h2&gt;
Chat Room application 
&lt;/h2&gt;The Publisher Subscriber model can be easily and effectively implemented in .NET using events and delegates. But implementing the same over the network seems to be a bit more challenging.The code sample provided demonstrates a simple chat room and it shows you how to go about setting up a publisher-subscriber architecture (using events) using WCF.&lt;br /&gt; &lt;br /&gt; &lt;br /&gt;&lt;h4&gt;
Before you read any further, please understand that this will work only for STATEFUL clients like Winforms and NOT for STATELESS clients like a web page.
&lt;/h4&gt; &lt;br /&gt;The client is a Winforms application and the Host is a Console application. &lt;br /&gt; &lt;br /&gt;The following areas of the technology have been leveraged:&lt;br /&gt;&lt;ul&gt;
&lt;li&gt;Ability of WCF to maintain sessions.&lt;/li&gt;&lt;li&gt;Duplex communication capability - WCF&lt;/li&gt;&lt;li&gt;Events and Delegates - .NET 2.0&lt;/li&gt;
&lt;/ul&gt; &lt;br /&gt;Obviously, you'll need .NET framework 3.0 or higher for the code sample to work.&lt;br /&gt;
&lt;/div&gt;</description><author>nbalagopal</author><pubDate>Thu, 13 Mar 2008 23:43:27 GMT</pubDate><guid isPermaLink="false">UPDATED WIKI: Home 20080313P</guid></item><item><title>UPDATED WIKI: Home</title><link>http://code.msdn.microsoft.com/nbalagopal2/Wiki/View.aspx?title=Home&amp;version=6</link><description>&lt;div class="wikidoc"&gt;
&lt;h2&gt;
Chat Room application 
&lt;/h2&gt;The Publisher Subscriber model can be easily and effectively implemented in .NET using events and delegates. But implementing the same over the network seems to be a bit more challenging.The code sample provided demonstrates a simple chat room and it shows you how to go about setting up a publisher-subscriber architecture (using events) using WCF.&lt;br /&gt; &lt;br /&gt; &lt;br /&gt;&lt;h4&gt;
Before you read any further, please understand that this will work only for STATEFUL clients like Winforms and NOT for STATELESS clients like a web page.
&lt;/h4&gt; &lt;br /&gt;The client is a Winforms application and the Host is a Console application. &lt;br /&gt; &lt;br /&gt;The following areas of the technology have been leveraged:&lt;br /&gt;&lt;ul&gt;
&lt;li&gt;Ability of WCF to maintain sessions.&lt;/li&gt;&lt;li&gt;Duplex communication capability - WCF&lt;/li&gt;&lt;li&gt;Events and Delegates - .NET 2.0&lt;/li&gt;
&lt;/ul&gt; &lt;br /&gt;Obviously, you'll need .NET framework 3.0 or higher for the code sample to work.&lt;br /&gt;
&lt;/div&gt;</description><author>nbalagopal</author><pubDate>Thu, 13 Mar 2008 23:20:47 GMT</pubDate><guid isPermaLink="false">UPDATED WIKI: Home 20080313P</guid></item><item><title>UPDATED WIKI: Home</title><link>http://code.msdn.microsoft.com/nbalagopal2/Wiki/View.aspx?title=Home&amp;version=4</link><description>&lt;div class="wikidoc"&gt;
&lt;h2&gt;
Chat Room application 
&lt;/h2&gt;The Publisher Subscriber model can be easily and effectively implemented in .NET using events and delegates. But implementing the same over the network seems to be a bit more challenging.The code sample provided demonstrates a simple chat room and it shows you how to go about setting up a publisher-subscriber architecture (using events) using WCF.&lt;br /&gt; &lt;br /&gt; &lt;br /&gt;&lt;h3&gt;
Before you read any further, please understand that this will work only for STATEFUL clients like Winforms and NOT for STATELESS clients like a web page.
&lt;/h3&gt; &lt;br /&gt;The client is a Winforms application and the Host is a Console application. &lt;br /&gt; &lt;br /&gt;The following areas of the technology has been leveraged:&lt;br /&gt;&lt;ul&gt;
&lt;li&gt;Ability of WCF to maintain sessions.&lt;/li&gt;&lt;li&gt;Duplex communication capability - WCF&lt;/li&gt;&lt;li&gt;Events and Delegates - .NET 2.0&lt;/li&gt;
&lt;/ul&gt; &lt;br /&gt;Obviously, you'll need .NET framework 3.0 or higher for the code sample to work.&lt;br /&gt;
&lt;/div&gt;</description><author>nbalagopal</author><pubDate>Thu, 13 Mar 2008 23:19:18 GMT</pubDate><guid isPermaLink="false">UPDATED WIKI: Home 20080313P</guid></item><item><title>UPDATED WIKI: Home</title><link>http://code.msdn.microsoft.com/nbalagopal2/Wiki/View.aspx?title=Home&amp;version=3</link><description>&lt;div class="wikidoc"&gt;
&lt;h2&gt;
Chat Room application 
&lt;/h2&gt;The Publisher Subscriber model can be easily and effectively implemented in .NET using events and delegates. But implementing the same over the network seems to be a bit more challenging.The code sample provided demonstrates a simple chat room and it shows you how to go about setting up a publisher-subscriber architecture (using events) using WCF.&lt;br /&gt; &lt;br /&gt; &lt;br /&gt;!!!Before you read any further, please understand that this will work only for STATEFUL clients like Winforms and NOT for STATELESS clients like a web page.&lt;br /&gt; &lt;br /&gt;The client is a Winforms application and the Host is a Console application. &lt;br /&gt; &lt;br /&gt;The following areas of the technology has been leveraged:&lt;br /&gt;&lt;ul&gt;
&lt;li&gt;Ability of WCF to maintain sessions.&lt;/li&gt;&lt;li&gt;Duplex communication capability - WCF&lt;/li&gt;&lt;li&gt;Events and Delegates - .NET 2.0&lt;/li&gt;
&lt;/ul&gt; &lt;br /&gt;Obviously, you'll need .NET framework 3.0 or higher for the code sample to work.&lt;br /&gt;
&lt;/div&gt;</description><author>nbalagopal</author><pubDate>Thu, 13 Mar 2008 23:18:50 GMT</pubDate><guid isPermaLink="false">UPDATED WIKI: Home 20080313P</guid></item><item><title>UPDATED WIKI: Home</title><link>http://code.msdn.microsoft.com/nbalagopal2/Wiki/View.aspx?title=Home&amp;version=2</link><description>&lt;div class="wikidoc"&gt;
The Publisher Subscriber model can be easily and effectively implemented in .NET using events and delegates. But implementing the same over the network seems to be a bit more challenging. The code sample here shows you how to go about setting up a publisher-subscriber architecture (using events) using WCF.&lt;br /&gt; &lt;br /&gt;&lt;b&gt;Before you read any further, please understand that this will work only for STATEFUL clients like Winforms and NOT for STATELESS clients like a web page.&lt;/b&gt;&lt;br /&gt; &lt;br /&gt;&lt;h2&gt;
Chat Room application 
&lt;/h2&gt;The code sample provided demonstrates a simple chat room. The client is a Winforms application and the Host is a Console application. &lt;br /&gt; &lt;br /&gt;The following areas of the technology has been leveraged:&lt;br /&gt;&lt;ul&gt;
&lt;li&gt;Ability of WCF to maintain sessions.&lt;/li&gt;&lt;li&gt;Duplex communication capability - WCF&lt;/li&gt;&lt;li&gt;Events and Delegates - .NET 2.0&lt;/li&gt;
&lt;/ul&gt; &lt;br /&gt;Obviously, you'll need .NET framework 3.0 or higher for the code sample to work.&lt;br /&gt;
&lt;/div&gt;</description><author>nbalagopal</author><pubDate>Thu, 13 Mar 2008 23:16:43 GMT</pubDate><guid isPermaLink="false">UPDATED WIKI: Home 20080313P</guid></item><item><title>RELEASED: Release 1.0.0.0 (Mar 14, 2008)</title><link>http://code.msdn.microsoft.com/nbalagopal2/Release/ProjectReleases.aspx?ReleaseId=659</link><description>&amp;#33;&amp;#33; Running the Sample&lt;br /&gt;Start the service first and it should show you a message saying that the service is running.&lt;br /&gt;Start as many instances of the client as you want and connect to the service. &amp;#40;The UI is intuitive enough i guess &amp;#33;&amp;#41;&lt;br /&gt;&lt;br /&gt;Note&amp;#58; The sample is configured to run properly when both the client and the service is hosted on the same machine. Scroll to the end of the article for instructions for setting up the service and client on different machines.&lt;br /&gt;&lt;br /&gt;&amp;#33;&amp;#33; The Service - Console Application&lt;br /&gt;&amp;#33;&amp;#33;&amp;#33; o Contract&lt;br /&gt; -&amp;#62;&amp;#42;IMyService&amp;#42; with three methods.&lt;br /&gt;       - SendMessage. - Broadcasts the message sent by the client to all connected clients including itself.&amp;#40;Hence the &amp;#39;Chat room&amp;#39; effect.&amp;#41;&lt;br /&gt;       - Join      - Used by the clients to subscribe to the &amp;#39;Broadcast&amp;#39; event. &amp;#40;Join the chat room&amp;#41;&lt;br /&gt;       - Leave   - Used by the clients to unsubscribe from the &amp;#39;Broadcast&amp;#39; event.&amp;#40;Leave the chat room&amp;#41;&lt;br /&gt;&lt;br /&gt; -&amp;#62;&amp;#42;IMyCallback&amp;#42; with one method.&lt;br /&gt;         RecieveMessage - Implemented by the client and invoked by the service during broadcast.&lt;br /&gt;&amp;#33;&amp;#33;&amp;#33; o Binding&lt;br /&gt; -&amp;#62;&amp;#42;wsDualHttpBinding&amp;#42; &amp;#40; A dual tcp might perform even better &amp;#33;&amp;#41;&lt;br /&gt;         Note&amp;#58; All the methods in the service contract are marked as &amp;#39;One Way&amp;#39; due to this.&lt;br /&gt;&lt;br /&gt;&amp;#33;&amp;#33;&amp;#33; o Event&lt;br /&gt; -&amp;#62;&amp;#42;Broadcast&amp;#42; event is defined and is declared as static so that it is shared by all the clients.&lt;br /&gt;&amp;#33;&amp;#33; The Client - Windows Forms Application&lt;br /&gt;As stated earlier, the client application must be &amp;#39;Stateful&amp;#39; and hence a windows aplication has been used. The client class implements the callback interface of the service. It then merely uses the appropriate method of the service based on the user actions.&lt;br /&gt;&amp;#40;You might find more lines of code that does not relate to any of what has been mentioned here and all that is related to UI validations, exception handling and proper port identification for the client&amp;#41;&lt;br /&gt;&amp;#33;&amp;#33; Hosting the Service and Client on different machines&lt;br /&gt;A few changes have to be made in the configuration file&amp;#40;&amp;#39;app.config&amp;#39; in the sample&amp;#41; of the &amp;#42;Client&amp;#42; application before it can be run from a different machine. To be more precise, TWO changes have to be made.&lt;br /&gt;&lt;br /&gt;1. In bindings &amp;#62;&amp;#62; wsDualHttpbinding &amp;#62;&amp;#62; binding - look for an attribute named &amp;#39;clientBaseAddress&amp;#39;. Replace &amp;#39;localhost&amp;#39; by the name&amp;#47;ip of the &amp;#42;Client&amp;#42; machine.&lt;br /&gt;2. In client &amp;#62;&amp;#62; endpoint  - look for an attribute named &amp;#39;address&amp;#39;. Replace &amp;#39;localhost&amp;#39; by the name&amp;#47;ip of the server.&lt;br /&gt;&lt;br /&gt;And you&amp;#39;re done...&amp;#33;&amp;#33;&amp;#33; &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;</description><author></author><pubDate>Thu, 13 Mar 2008 21:44:01 GMT</pubDate><guid isPermaLink="false">RELEASED: Release 1.0.0.0 (Mar 14, 2008) 20080313P</guid></item><item><title>UPDATED RELEASE: Release 1.0.0.0 (Mar 14, 2008)</title><link>http://code.msdn.microsoft.com/nbalagopal2/Release/ProjectReleases.aspx?ReleaseId=659</link><description>&amp;#33;&amp;#33; Running the Sample&lt;br /&gt;Start the service first and it should show you a message saying that the service is running.&lt;br /&gt;Start as many instances of the client as you want and connect to the service. &amp;#40;The UI is intuitive enough i guess &amp;#33;&amp;#41;&lt;br /&gt;&lt;br /&gt;Note&amp;#58; The sample is configured to run properly when both the client and the service is hosted on the same machine. Scroll to the end of the article for instructions for setting up the service and client on different machines.&lt;br /&gt;&lt;br /&gt;&amp;#33;&amp;#33; The Service - Console Application&lt;br /&gt;&amp;#33;&amp;#33;&amp;#33; o Contract&lt;br /&gt; -&amp;#62;&amp;#42;IMyService&amp;#42; with three methods.&lt;br /&gt;       - SendMessage. - Broadcasts the message sent by the client to all connected clients including itself.&amp;#40;Hence the &amp;#39;Chat room&amp;#39; effect.&amp;#41;&lt;br /&gt;       - Join      - Used by the clients to subscribe to the &amp;#39;Broadcast&amp;#39; event. &amp;#40;Join the chat room&amp;#41;&lt;br /&gt;       - Leave   - Used by the clients to unsubscribe from the &amp;#39;Broadcast&amp;#39; event.&amp;#40;Leave the chat room&amp;#41;&lt;br /&gt;&lt;br /&gt; -&amp;#62;&amp;#42;IMyCallback&amp;#42; with one method.&lt;br /&gt;         RecieveMessage - Implemented by the client and invoked by the service during broadcast.&lt;br /&gt;&amp;#33;&amp;#33;&amp;#33; o Binding&lt;br /&gt; -&amp;#62;&amp;#42;wsDualHttpBinding&amp;#42; &amp;#40; A dual tcp might perform even better &amp;#33;&amp;#41;&lt;br /&gt;         Note&amp;#58; All the methods in the service contract are marked as &amp;#39;One Way&amp;#39; due to this.&lt;br /&gt;&lt;br /&gt;&amp;#33;&amp;#33;&amp;#33; o Event&lt;br /&gt; -&amp;#62;&amp;#42;Broadcast&amp;#42; event is defined and is declared as static so that it is shared by all the clients.&lt;br /&gt;&amp;#33;&amp;#33; The Client - Windows Forms Application&lt;br /&gt;As stated earlier, the client application must be &amp;#39;Stateful&amp;#39; and hence a windows aplication has been used. The client class implements the callback interface of the service. It then merely uses the appropriate method of the service based on the user actions.&lt;br /&gt;&amp;#40;You might find more lines of code that does not relate to any of what has been mentioned here and all that is related to UI validations, exception handling and proper port identification for the client&amp;#41;&lt;br /&gt;&amp;#33;&amp;#33; Hosting the Service and Client on different machines&lt;br /&gt;A few changes have to be made in the configuration file&amp;#40;&amp;#39;app.config&amp;#39; in the sample&amp;#41; of the &amp;#42;Client&amp;#42; application before it can be run from a different machine. To be more precise, TWO changes have to be made.&lt;br /&gt;&lt;br /&gt;1. In bindings &amp;#62;&amp;#62; wsDualHttpbinding &amp;#62;&amp;#62; binding - look for an attribute named &amp;#39;clientBaseAddress&amp;#39;. Replace &amp;#39;localhost&amp;#39; by the name&amp;#47;ip of the &amp;#42;Client&amp;#42; machine.&lt;br /&gt;2. In client &amp;#62;&amp;#62; endpoint  - look for an attribute named &amp;#39;address&amp;#39;. Replace &amp;#39;localhost&amp;#39; by the name&amp;#47;ip of the server.&lt;br /&gt;&lt;br /&gt;And you&amp;#39;re done...&amp;#33;&amp;#33;&amp;#33; &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;</description><author></author><pubDate>Thu, 13 Mar 2008 21:44:01 GMT</pubDate><guid isPermaLink="false">UPDATED RELEASE: Release 1.0.0.0 (Mar 14, 2008) 20080313P</guid></item><item><title>UPDATED RELEASE: Release 1.0.0.0 (Mar 14, 2008)</title><link>http://code.msdn.microsoft.com/nbalagopal2/Release/ProjectReleases.aspx?ReleaseId=659</link><description>&amp;#33;&amp;#33; Running the Sample&lt;br /&gt;Start the service first and it should show you a message saying that the service is running.&lt;br /&gt;Start as many instances of the client as you want and connect to the service. &amp;#40;The UI is intuitive enough i guess &amp;#33;&amp;#41;&lt;br /&gt;&lt;br /&gt;Note&amp;#58; The sample is configured to run properly when both the client and the service is hosted on the same machine. Scroll to the end of the article for instructions for setting up the service and client on different machines.&lt;br /&gt;&lt;br /&gt;&amp;#33;&amp;#33; The Service - Console Application&lt;br /&gt;o &amp;#33;&amp;#33;&amp;#33; Contract&lt;br /&gt; -&amp;#62;&amp;#42;IMyService&amp;#42; with three methods.&lt;br /&gt;       - SendMessage. - Broadcasts the message sent by the client to all connected clients including itself.&amp;#40;Hence the &amp;#39;Chat room&amp;#39; effect.&amp;#41;&lt;br /&gt;       - Join      - Used by the clients to subscribe to the &amp;#39;Broadcast&amp;#39; event. &amp;#40;Join the chat room&amp;#41;&lt;br /&gt;       - Leave   - Used by the clients to unsubscribe from the &amp;#39;Broadcast&amp;#39; event.&amp;#40;Leave the chat room&amp;#41;&lt;br /&gt;&lt;br /&gt; -&amp;#62;&amp;#42;IMyCallback&amp;#42; with one method.&lt;br /&gt;         RecieveMessage - Implemented by the client and invoked by the service during broadcast.&lt;br /&gt;o &amp;#33;&amp;#33;&amp;#33; Binding&lt;br /&gt; -&amp;#62;&amp;#42;wsDualHttpBinding&amp;#42; &amp;#40; A dual tcp might perform even better &amp;#33;&amp;#41;&lt;br /&gt;         Note&amp;#58; All the methods in the service contract are marked as &amp;#39;One Way&amp;#39; due to this.&lt;br /&gt;&lt;br /&gt;o &amp;#33;&amp;#33;&amp;#33; Event&lt;br /&gt; -&amp;#62;&amp;#42;Broadcast&amp;#42; event is defined and is declared as static so that it is shared by all the clients.&lt;br /&gt;&amp;#33;&amp;#33; The Client - Windows Forms Application&lt;br /&gt;As stated earlier, the client application must be &amp;#39;Stateful&amp;#39; and hence a windows aplication has been used. The client class implements the callback interface of the service. It then merely uses the appropriate method of the service based on the user actions.&lt;br /&gt;&amp;#40;You might find more lines of code that does not relate to any of what has been mentioned here and all that is related to UI validations, exception handling and proper port identification for the client&amp;#41;&lt;br /&gt;&amp;#33;&amp;#33; Hosting the Service and Client on different machines&lt;br /&gt;A few changes have to be made in the configuration file&amp;#40;&amp;#39;app.config&amp;#39; in the sample&amp;#41; of the &amp;#42;Client&amp;#42; application before it can be run from a different machine. To be more precise, TWO changes have to be made.&lt;br /&gt;&lt;br /&gt;1. In bindings &amp;#62;&amp;#62; wsDualHttpbinding &amp;#62;&amp;#62; binding - look for an attribute named &amp;#39;clientBaseAddress&amp;#39;. Replace &amp;#39;localhost&amp;#39; by the name&amp;#47;ip of the &amp;#42;Client&amp;#42; machine.&lt;br /&gt;2. In client &amp;#62;&amp;#62; endpoint  - look for an attribute named &amp;#39;address&amp;#39;. Replace &amp;#39;localhost&amp;#39; by the name&amp;#47;ip of the server.&lt;br /&gt;&lt;br /&gt;And you&amp;#39;re done...&amp;#33;&amp;#33;&amp;#33; &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;</description><author></author><pubDate>Thu, 13 Mar 2008 21:42:45 GMT</pubDate><guid isPermaLink="false">UPDATED RELEASE: Release 1.0.0.0 (Mar 14, 2008) 20080313P</guid></item></channel></rss>