<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://blogs.msdn.com/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>Santhosh Pillai</title><link>http://blogs.msdn.com/b/sanpil/</link><description>Globalization challenges... one at a time.</description><dc:language>en-US</dc:language><generator>Telligent Evolution Platform Developer Build (Build: 5.6.50428.7875)</generator><item><title>Extracting Text from PSD Files</title><link>http://blogs.msdn.com/b/sanpil/archive/2008/04/30/extracting-text-from-psd-files.aspx</link><pubDate>Thu, 01 May 2008 02:42:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8445448</guid><dc:creator>MSDNArchive</dc:creator><slash:comments>1</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/sanpil/rsscomments.aspx?WeblogPostID=8445448</wfw:commentRss><comments>http://blogs.msdn.com/b/sanpil/archive/2008/04/30/extracting-text-from-psd-files.aspx#comments</comments><description>Localizers often need to extract text from PSD (Photoshop) files, translate them, and put the text back in the PSD files in the appropriate places (layers). I haven’t personally seen anyone using a tool to do this. Is there any tool that can extract and...(&lt;a href="http://blogs.msdn.com/b/sanpil/archive/2008/04/30/extracting-text-from-psd-files.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=8445448" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/b/sanpil/archive/tags/Localization/">Localization</category></item><item><title>Kinsoku, anyone?</title><link>http://blogs.msdn.com/b/sanpil/archive/2007/11/06/kinsoku-anyone.aspx</link><pubDate>Wed, 07 Nov 2007 06:16:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:5949968</guid><dc:creator>MSDNArchive</dc:creator><slash:comments>1</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/sanpil/rsscomments.aspx?WeblogPostID=5949968</wfw:commentRss><comments>http://blogs.msdn.com/b/sanpil/archive/2007/11/06/kinsoku-anyone.aspx#comments</comments><description>&lt;P&gt;I should admit that I am a little rusty as my last post was a while ago. &lt;/P&gt;
&lt;P&gt;I am interested to find out what content providers do to avoid Japanese Kinsoku issues. &lt;A class="" href="http://www.w3.org/TR/1999/WD-i18n-format-19990127/" mce_href="http://www.w3.org/TR/1999/WD-i18n-format-19990127/"&gt;This page&lt;/A&gt; has a lot of details, but apart from specifying line-break="strict",&amp;nbsp;are there any other known solutions that the Japanese web sites employ to minimize the problem? Ideally, I would like to know if anyone is using ZERO WIDTH NO-BREAK SPACE (U+FEFF), ZERO WIDTH SPACE (U+200B), or WORD JOINER (U+2060) to work around this issue.&lt;/P&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=5949968" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/b/sanpil/archive/tags/Globalization/">Globalization</category></item><item><title>Media Center SDK Vista Beta 2</title><link>http://blogs.msdn.com/b/sanpil/archive/2006/06/14/631269.aspx</link><pubDate>Wed, 14 Jun 2006 22:10:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:631269</guid><dc:creator>MSDNArchive</dc:creator><slash:comments>1</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/sanpil/rsscomments.aspx?WeblogPostID=631269</wfw:commentRss><comments>http://blogs.msdn.com/b/sanpil/archive/2006/06/14/631269.aspx#comments</comments><description>&lt;P&gt;&lt;FONT face=Verdana&gt;&lt;FONT size=1&gt;Media Center SDK for Windows Vista Beta 2 is now &lt;/FONT&gt;&lt;A href="http://www.microsoft.com/downloads/details.aspx?FamilyId=AD3E8FDC-D1F9-4CAA-99A9-2FEEA88790F8&amp;amp;displaylang=en"&gt;&lt;FONT size=1&gt;available here&lt;/FONT&gt;&lt;/A&gt;&lt;FONT size=1&gt; for download. The good news is that you do&amp;nbsp;NOT have to be a beta participant to get the SDK now. &lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Verdana size=1&gt;Install it, try it, and report any problems that you may have. You can leave a comment here, or report it via one of the channels below:&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Verdana&gt;&lt;A href="http://blog.mediacentersandbox.com/"&gt;&lt;FONT size=1&gt;Media Center Sandbox&lt;/FONT&gt;&lt;/A&gt;&lt;BR&gt;&lt;A href="http://discuss.mediacentersandbox.com/"&gt;&lt;FONT size=1&gt;Sandbox Discussion Forum&lt;/FONT&gt;&lt;/A&gt;&lt;BR&gt;&lt;A href="http://blog.retrosight.com/"&gt;&lt;FONT size=1&gt;Charlie Owen's blog&lt;/FONT&gt;&lt;/A&gt;&lt;BR&gt;&lt;A href="https://blogs.msdn.com:443/astebner/"&gt;&lt;FONT size=1&gt;Aaron Stebner's blog&lt;/FONT&gt;&lt;/A&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=631269" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/b/sanpil/archive/tags/Media+Center+Development/">Media Center Development</category></item><item><title>Indeo Codec &amp; XP SP2</title><link>http://blogs.msdn.com/b/sanpil/archive/2004/11/17/259303.aspx</link><pubDate>Thu, 18 Nov 2004 01:19:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:259303</guid><dc:creator>MSDNArchive</dc:creator><slash:comments>2</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/sanpil/rsscomments.aspx?WeblogPostID=259303</wfw:commentRss><comments>http://blogs.msdn.com/b/sanpil/archive/2004/11/17/259303.aspx#comments</comments><description>&lt;font face="Verdana" size="1"&gt;Do you have an AVI file encoded with Indeo codec that stopped displaying video when accessed from a share when your client is XP SP2? That's because XP SP2 blocked the content because of a security problem with the codec. If you should access the content from the share, your best bet would be to re-encode with a codec other than Indeo. Desperate times need desperate measures, so, contact Microsoft Developer Support if you can't live with any of the above solutions.&lt;/font&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=259303" width="1" height="1"&gt;</description></item><item><title>Account Protection, Baby!</title><link>http://blogs.msdn.com/b/sanpil/archive/2004/07/13/181997.aspx</link><pubDate>Tue, 13 Jul 2004 19:21:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:181997</guid><dc:creator>MSDNArchive</dc:creator><slash:comments>13</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/sanpil/rsscomments.aspx?WeblogPostID=181997</wfw:commentRss><comments>http://blogs.msdn.com/b/sanpil/archive/2004/07/13/181997.aspx#comments</comments><description>&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Verdana"&gt;&lt;FONT size=1&gt;So, here I am calling up my credit card company to have my address changed (well, I tried online, and failed to login for some reason). After changing the address, she goes: &amp;#8220;do you want to add account protection to your card?&amp;#8221;&lt;BR&gt;Me: &amp;#8220;Yes, most definitely.&amp;#8221;&lt;BR&gt;She: &amp;#8220;That will be $12.50 per month charged on your card.&amp;#8221;&lt;BR&gt;Me: &amp;#8220;Hold on, I want the account protection, and I feel that's something you should provide for your customers without charging them&amp;#8221;.&lt;BR&gt;She: &amp;#8220;So, is it about the money? If you make money, can't you spend around 40 cents per day to protect it?&amp;#8221;&lt;BR&gt;Me: &amp;#8220;Your bank's networth is in billions. Can't&amp;nbsp;they spend 42 cents for me to protect my account as a nice gesture of me doing business with them?&amp;#8221;&lt;BR&gt;She: &amp;#8220;I understand you don't want the protection then!&amp;#8221;&lt;BR&gt;&lt;BR&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Verdana"&gt;&lt;/P&gt;&lt;/SPAN&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=181997" width="1" height="1"&gt;</description></item><item><title>Calling C++ Unmanaged Class from C#</title><link>http://blogs.msdn.com/b/sanpil/archive/2004/07/07/175855.aspx</link><pubDate>Wed, 07 Jul 2004 23:59:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:175855</guid><dc:creator>MSDNArchive</dc:creator><slash:comments>7</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/sanpil/rsscomments.aspx?WeblogPostID=175855</wfw:commentRss><comments>http://blogs.msdn.com/b/sanpil/archive/2004/07/07/175855.aspx#comments</comments><description>&lt;FONT face=Verdana&gt;
&lt;P&gt;&lt;FONT size=1&gt;This may be a no-brainer, but I thought I'd post it anyway.&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT size=1&gt;If you have a C++ class in an unmanaged dll what is the best way to call it from C#?&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT size=1&gt;1. You need to wrap the C++ class in a COM object or expose the class through dll exports. Managed code can call methods on COM object through COM Interop. And it can call dll exports through P/Invoke.&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT size=1&gt;2. There is another way to do this using P/Invoke. Here is the sample code from the SDK.&lt;BR&gt;The best way to do this is to write a thin wrapper in MC++ around your MFC classes and expose managed interfaces from it to your C# code. If you can use Whidbey, you could even compile your MC++ wrapper and rest of the C# code in same DLL using new linker.&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR&gt;&lt;/FONT&gt;&lt;FONT face="Courier New" size=1&gt;// ClassMethods.cs&lt;BR&gt;using System;&lt;BR&gt;using System.Text;&lt;BR&gt;using System.Runtime.InteropServices;&lt;BR&gt;public class LibWrap&lt;BR&gt;{&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; /*&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; class PINVOKELIB_API CTestClass &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; public:&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; CTestClass( void );&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; int DoSomething( int i );&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; private:&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; int m_member;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; */&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; [ DllImport( "..\\LIB\\PinvokeLib.dll", &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; EntryPoint="&lt;/FONT&gt;&lt;A href="mailto:?DoSomething@CTestClass@@QAEHH@Z"&gt;&lt;FONT face="Courier New" size=1&gt;?DoSomething@CTestClass@@QAEHH@Z&lt;/FONT&gt;&lt;/A&gt;&lt;FONT face="Courier New" size=1&gt;", &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; CallingConvention=CallingConvention.ThisCall )]&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; public static extern int TestThisCalling( IntPtr ths, int i ); &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; // CTestClass* CreateTestClass();&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; [DllImport( "..\\LIB\\PinvokeLib.dll" )]&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; public static extern IntPtr CreateTestClass(); &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; // void DeleteTestClass( CTestClass* instance )&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; [ DllImport( "..\\LIB\\PinvokeLib.dll" )]&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; public static extern void DeleteTestClass( IntPtr instance ); &lt;BR&gt;}&lt;BR&gt;public class App&lt;BR&gt;{&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; public static void Main()&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; IntPtr instancePtr = LibWrap.CreateTestClass();&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; int res = LibWrap.TestThisCalling( instancePtr, 9 ); &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Console.WriteLine( "\nResult: {0} \n", res );&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; LibWrap.DeleteTestClass( instancePtr );&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;BR&gt;}&lt;/FONT&gt;&lt;/P&gt;&lt;/FONT&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=175855" width="1" height="1"&gt;</description></item><item><title>P/Invoke: Should it be this hard?</title><link>http://blogs.msdn.com/b/sanpil/archive/2004/03/31/105146.aspx</link><pubDate>Wed, 31 Mar 2004 23:31:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:105146</guid><dc:creator>MSDNArchive</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/sanpil/rsscomments.aspx?WeblogPostID=105146</wfw:commentRss><comments>http://blogs.msdn.com/b/sanpil/archive/2004/03/31/105146.aspx#comments</comments><description>&lt;P align=left&gt;&lt;FONT face=Verdana size=1&gt;Obviously, no!&lt;/FONT&gt;&lt;/P&gt;
&lt;P align=left&gt;&lt;FONT face=Verdana&gt;&lt;FONT size=1&gt;We are trying everything we can to make it less painful for the developers. Most of the time, the hard question is whether or not the P/Invoke signature is accurate. Now that we have a &lt;/FONT&gt;&lt;A href="http://www.gotdotnet.com/Community/UserSamples/Details.aspx?SampleGuid=f1dd70e4-c212-4a6f-bff7-c82e34c8836f"&gt;&lt;FONT size=1&gt;sample that shows P/Invoke signature for methods declared in Windows.h&lt;/FONT&gt;&lt;/A&gt;&lt;FONT size=1&gt;, it's just a start.&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P align=left&gt;&lt;FONT face=Verdana size=1&gt;You can also find a list of resources that provides assistance to developers encountering problems P/Invoke functionality at &lt;/FONT&gt;&lt;FONT face=Verdana&gt;&lt;A href="http://www.gotdotnet.com/team/clr/bcl/TechArticles/TechArticles/PInvokeHelp/FAQ.aspx"&gt;&lt;FONT size=1&gt;http://www.gotdotnet.com/team/clr/bcl/TechArticles/TechArticles/PInvokeHelp/FAQ.aspx&lt;/FONT&gt;&lt;/A&gt;&lt;FONT size=1&gt;. Please let us know your feedback.&lt;BR&gt;&lt;/P&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=105146" width="1" height="1"&gt;</description></item><item><title>Hard to Find a Technical Resource? Think About Microsoft Developer Support!</title><link>http://blogs.msdn.com/b/sanpil/archive/2004/03/26/97172.aspx</link><pubDate>Sat, 27 Mar 2004 00:09:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:97172</guid><dc:creator>MSDNArchive</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/sanpil/rsscomments.aspx?WeblogPostID=97172</wfw:commentRss><comments>http://blogs.msdn.com/b/sanpil/archive/2004/03/26/97172.aspx#comments</comments><description>&lt;P&gt;&lt;FONT face=Verdana size=1&gt;I often see questions like this in various forums:&lt;/FONT&gt;&lt;/P&gt;
&lt;P dir=ltr style="MARGIN-RIGHT: 0px"&gt;&lt;FONT face=Verdana color=#a52a2a size=1&gt;&lt;EM&gt;We are about start the coding phase of our project. We would like to validate our architecture against someone with expertise in DCOM/Remoting/--Add your technology here--. We probably need a week or two of someone's time to provide a sanity check before we start our work. It is hard to find a resource, can you help?&lt;/EM&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Verdana size=1&gt;You can open an advisory incident with Microsoft Developer Support to get help. Get the details at &lt;/FONT&gt;&lt;A href="http://support.microsoft.com/default.aspx?pr=cntactms"&gt;&lt;FONT face=Verdana size=1&gt;http://support.microsoft.com/default.aspx?pr=cntactms&lt;/FONT&gt;&lt;/A&gt;&lt;FONT size=1&gt;.&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Verdana size=1&gt;However if it is a quick question, please use the newsgroups.&lt;BR&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=97172" width="1" height="1"&gt;</description></item><item><title>DCOM: Is there a way to get the IP of the DCOM client from the DCOM server?</title><link>http://blogs.msdn.com/b/sanpil/archive/2004/03/01/82302.aspx</link><pubDate>Mon, 01 Mar 2004 23:26:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:82302</guid><dc:creator>MSDNArchive</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/sanpil/rsscomments.aspx?WeblogPostID=82302</wfw:commentRss><comments>http://blogs.msdn.com/b/sanpil/archive/2004/03/01/82302.aspx#comments</comments><description>&lt;P align=left&gt;&lt;FONT face=Verdana color=#000000 size=1&gt;Another FAQ. Short answer: may be. Shorter answer: no. To be honest: no supported way.&lt;/FONT&gt;&lt;/P&gt;
&lt;P align=left&gt;&lt;FONT face=Verdana color=#000000 size=1&gt;CoQueryClientBlanket() will give "some information", such as the user name and domain name, but unfortunately, there is no way of obtaining the client machine name or IP address from a DCOM application. This is because there is no way to get RPC Binding Handle inside a DCOM server. If you have a RPC application then you have a RPC binding Handle and this will have information about the client.&lt;/FONT&gt;&lt;/P&gt;
&lt;P align=left&gt;&lt;FONT face=Verdana color=#000000&gt;&lt;FONT size=1&gt;If you look at Inside Distributed COM by Guy Eddon &amp;amp; Henry Eddon and/or &lt;/FONT&gt;&lt;A href="www.microsoft.com/msj/0198/activex0198.htm"&gt;&lt;FONT size=1&gt;Don Box's article in MSJ&lt;/FONT&gt;&lt;/A&gt;&lt;FONT size=1&gt; back in 98, they talk about the "unpublished and unsupported (by MS)" interface IChannelHook which can be used to obtain the Client address. Both client and server needs to Activate IChannelHook to its process. Microsoft does not recommend nor does it support the use of IChannelHook or any other unpublished interfaces/APIs.&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P align=left&gt;&lt;FONT face=Verdana color=#000000&gt;&lt;FONT size=1&gt;Speaking of "unpublished and unsupported" API's, the web site &lt;/FONT&gt;&lt;A href="http://members.tripod.com/IUnknwn"&gt;&lt;FONT size=1&gt;http://members.tripod.com/IUnknwn&lt;/FONT&gt;&lt;/A&gt;&lt;FONT size=1&gt; gives an example of how to marshal an interface pointer to a stream, and then look at the OBJREF structure that is part of the marshaled interface pointer (as described in Chapter 12 of Inside Distributed COM by Guy Eddon and Henry Eddon). The OBJREF structure contains the client's STRINGBINDING when standard marshaling is used, which contains the client's IP address.&lt;BR&gt;&lt;/P&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=82302" width="1" height="1"&gt;</description></item><item><title>Post your Remoting questions in microsoft.public.dotnet.framework.remoting</title><link>http://blogs.msdn.com/b/sanpil/archive/2004/02/24/79528.aspx</link><pubDate>Wed, 25 Feb 2004 00:56:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:79528</guid><dc:creator>MSDNArchive</dc:creator><slash:comments>1</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/sanpil/rsscomments.aspx?WeblogPostID=79528</wfw:commentRss><comments>http://blogs.msdn.com/b/sanpil/archive/2004/02/24/79528.aspx#comments</comments><description>&lt;P align=left&gt;&lt;FONT face=Verdana color=#000000&gt;&lt;FONT size=1&gt;As I look through the feedback for my post, I thought it may be a good idea that I propose this: feel free to post your Remoting related questions in microsoft.public.dotnet.framework.remoting newsgroup. The newsgroup is pretty active with some MS guys and a couple of MVPs regularly answering queries. It is easy to configure Outlook Express to read newsgroups. Details available at &lt;/FONT&gt;&lt;A href="http://msdn.microsoft.com/newsgroups/"&gt;&lt;FONT size=1&gt;http://msdn.microsoft.com/newsgroups/&lt;/FONT&gt;&lt;/A&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=79528" width="1" height="1"&gt;</description></item><item><title>Error: The type &lt;type name&gt; is not supported because it implements IDictionary.</title><link>http://blogs.msdn.com/b/sanpil/archive/2004/02/24/79346.aspx</link><pubDate>Tue, 24 Feb 2004 22:57:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:79346</guid><dc:creator>MSDNArchive</dc:creator><slash:comments>12</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/sanpil/rsscomments.aspx?WeblogPostID=79346</wfw:commentRss><comments>http://blogs.msdn.com/b/sanpil/archive/2004/02/24/79346.aspx#comments</comments><description>&lt;P&gt;&lt;FONT face=Verdana color=#000000 size=1&gt;Ferris Beuller asked me in response to my previous post:&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Verdana color=#a52a2a size=1&gt;&lt;EM&gt;Why can the serializer not serialize types that implement IDictionary? SortedList in types cannot be serialized, you get an InvalidOperationException with the innerexception of {"The type System.Collections.SortedList is not supported because it implements IDictionary."} &lt;/EM&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Verdana color=#000000 size=1&gt;The serializer should be able to serialize any type as long as it is marked serializable. SortedList is marked serializable. So, you should not be getting this error. I was able to run the following test without getting any errors.&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="Courier New" color=#000000&gt;&lt;FONT size=1&gt;&lt;FONT color=#0000ff&gt;using&lt;/FONT&gt; System;&lt;BR&gt;&lt;FONT color=#0000ff&gt;using&lt;/FONT&gt; System.Collections;&lt;BR&gt;&lt;FONT color=#0000ff&gt;using&lt;/FONT&gt; System.Runtime.Serialization.Formatters.Binary;&lt;BR&gt;&lt;FONT color=#0000ff&gt;using&lt;/FONT&gt; System.IO;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="Courier New" color=#000000&gt;&lt;FONT size=1&gt;&lt;FONT color=#0000ff&gt;namespace&lt;/FONT&gt; SerializeDict&lt;BR&gt;{&lt;BR&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT face="Courier New" color=#000000 size=1&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;FONT color=#0000ff&gt;public&lt;/FONT&gt; &lt;FONT color=#0000ff&gt;class&lt;/FONT&gt; Test&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;FONT color=#0000ff&gt;public&lt;/FONT&gt; &lt;FONT color=#0000ff&gt;static void&lt;/FONT&gt; Main()&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; MemoryStream stream = &lt;FONT color=#0000ff&gt;new&lt;/FONT&gt; MemoryStream();&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; BinaryFormatter bf = &lt;FONT color=#0000ff&gt;new&lt;/FONT&gt; BinaryFormatter();&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; SortedList list = &lt;FONT color=#0000ff&gt;new&lt;/FONT&gt; SortedList();&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; list.Add(10, 100);&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; list.Add(100, 1000);&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; bf.Serialize(stream, list);&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; stream.Position = 0;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; bf = &lt;FONT color=#0000ff&gt;new&lt;/FONT&gt; BinaryFormatter();&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; list = (SortedList)bf.Deserialize(stream);&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Console.WriteLine(list[100]);&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/FONT&gt;&lt;FONT face="Courier New" color=#000000&gt;&lt;BR&gt;&lt;FONT size=1&gt;}&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Verdana color=#000000 size=1&gt;Can you share a reproducible sample with me where you get the error?&lt;/FONT&gt;&lt;/P&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=79346" width="1" height="1"&gt;</description></item><item><title>So, What's the Deal with SerializationException in Remoting &amp; TypeFilterLevel?</title><link>http://blogs.msdn.com/b/sanpil/archive/2004/02/23/78754.aspx</link><pubDate>Tue, 24 Feb 2004 02:09:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:78754</guid><dc:creator>MSDNArchive</dc:creator><slash:comments>5</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/sanpil/rsscomments.aspx?WeblogPostID=78754</wfw:commentRss><comments>http://blogs.msdn.com/b/sanpil/archive/2004/02/23/78754.aspx#comments</comments><description>&lt;p align="left"&gt;&lt;font face="Verdana" color="#000000" size="1"&gt;Applications that used to work well in Framework 1.0 give System.Runtime.Serialization.SerializationException when run under Framework 1.1. The exception has this format:&lt;/font&gt;&lt;/p&gt; &lt;p align="left"&gt;&lt;font face="Verdana" color="#000000" size="1"&gt;System.Runtime.Serialization.SerializationException: Because of security restrictions, the type (type name) cannot be accessed. ---&amp;gt; System.Security.SecurityException: Request failed.&lt;/font&gt;&lt;/p&gt; &lt;p align="left"&gt;&lt;font face="Verdana" color="#000000" size="1"&gt;This issue is documened at http://www.gotdotnet.com/team/changeinfo/Backwards1.0to1.1/default.aspx#00000153 (Secure Serialization in .NET Remoting - Backwards Breaking Changes from version 1.0 to 1.1)&lt;/font&gt;&lt;/p&gt; &lt;p align="left"&gt;&lt;font face="Verdana" color="#000000" size="1"&gt;A level of security has been added to Serialization. Specifically, there are now two levels of serialization security: Low (Default) and Full.&lt;/font&gt;&lt;/p&gt; &lt;p align="left"&gt;&lt;font face="Verdana" color="#000000" size="1"&gt;Low Level Security:&lt;/font&gt;&lt;/p&gt; &lt;p align="left"&gt;&lt;font face="Verdana" color="#000000" size="1"&gt;• Remoting infrastructure objects. These are the types needed to make remoting work at a basic level. &lt;br /&gt;&lt;/font&gt;&lt;font face="Verdana" color="#000000" size="1"&gt;• Primitive types, and reference and value types that are composed of primitive types. &lt;br /&gt;&lt;/font&gt;&lt;font face="Verdana" color="#000000" size="1"&gt;• Reference and value types that are marked with the SerializableAttribute attribute but do not implement the ISerializable interface. &lt;br /&gt;&lt;/font&gt;&lt;font face="Verdana" color="#000000" size="1"&gt;• System-provided types that implement ISerializable with a reduced permission set. &lt;br /&gt;&lt;/font&gt;&lt;font face="Verdana" color="#000000" size="1"&gt;• Custom types that implement ISerializable. &lt;br /&gt;&lt;/font&gt;&lt;font size="1"&gt;&lt;font face="Verdana" color="#000000"&gt;• Types that implement the ILease interface. &lt;br /&gt;&lt;/font&gt;&lt;font face="Verdana" color="#000000"&gt;• ObjRef objects used for activation (to support client-activated objects). &lt;/font&gt;&lt;/font&gt;&lt;/p&gt; &lt;p align="left"&gt;&lt;font face="Verdana" color="#000000" size="1"&gt;Full Level Security:&lt;/font&gt;&lt;/p&gt; &lt;p align="left"&gt;&lt;font face="Verdana" color="#000000" size="1"&gt;• ObjRef objects passed as parameters. &lt;br /&gt;&lt;/font&gt;&lt;font size="1"&gt;&lt;font face="Verdana" color="#000000"&gt;• Objects that implement the ISponsor interface. &lt;br /&gt;&lt;/font&gt;&lt;font face="Verdana" color="#000000"&gt;• Objects that are inserted between the proxy and client pipeline by the IContributeEnvoySink interface.&lt;/font&gt;&lt;/font&gt;&lt;/p&gt; &lt;p align="left"&gt;&lt;font face="Verdana" color="#000000" size="1"&gt;In version 1.1 of the .Net Framework, a new security feature was added to the .Net Remoting infrastructure called Type Filtering. This feature, which is enabled by default, limits the type of objects that may be marshaled by a Remoting client to a Remoting server. Type Filtering effectively prohibits the server from deserializing instances of CLR types that may serve as vectors of attack. This feature is part of Microsoft’s commitment to be secure by default.&lt;/font&gt;&lt;/p&gt; &lt;p align="left"&gt;&lt;font face="Verdana" color="#000000" size="1"&gt;The following outlines several of the threats that are mitigated by use of this feature (we are not going to give out details about how to exploit these threats), specifically when typeFilterLevel is set to Low:&lt;/font&gt;&lt;/p&gt; &lt;p align="left"&gt;&lt;font size="1"&gt;&lt;font face="Verdana" color="#000000"&gt;Exposing a Remoting server with a method or member that takes a delegate. &lt;br /&gt;&lt;/font&gt;&lt;font face="Verdana" color="#000000"&gt;Threat: Delegates may be used to invoke methods on other types that have the same signature &lt;/font&gt;&lt;/font&gt;&lt;/p&gt; &lt;p align="left"&gt;&lt;font size="1"&gt;&lt;font face="Verdana" color="#000000"&gt;Exposing a Remoting server with a method or member that takes a MarshalByRefObject type. &lt;br /&gt;&lt;/font&gt;&lt;font face="Verdana" color="#000000"&gt;Threat: The serialized form of a MarshalByRefObject contains a mutable URL &lt;/font&gt;&lt;/font&gt;&lt;/p&gt; &lt;p align="left"&gt;&lt;font size="1"&gt;&lt;font face="Verdana" color="#000000"&gt;Exposing a Remoting server with a method or member that takes an ISerializable type. &lt;br /&gt;&lt;/font&gt;&lt;font face="Verdana" color="#000000"&gt;Threat: Deserialization of an ISerializable type causes the Remoting infrastructure to run the type’s code. &lt;/font&gt;&lt;/font&gt;&lt;/p&gt; &lt;p align="left"&gt;&lt;font size="1"&gt;&lt;font face="Verdana" color="#000000"&gt;Exposing a Remoting server with a method or member that takes an type found in the GAC on the server machine in an assembly without APTCA&lt;br /&gt;&lt;/font&gt;&lt;font face="Verdana" color="#000000"&gt;Threat: Types in the GAC are well known to anyone with the .Net Framework installed. &lt;/font&gt;&lt;/font&gt;&lt;/p&gt; &lt;p align="left"&gt;&lt;font size="1"&gt;&lt;font face="Verdana" color="#000000"&gt;Exposing a Remoting server that enables remote clients to register sponsors &lt;br /&gt;&lt;/font&gt;&lt;font face="Verdana" color="#000000"&gt;Threat: There is no limit on the number of sponsors that can be registered. &lt;/font&gt;&lt;/font&gt;&lt;/p&gt; &lt;p align="left"&gt;&lt;font face="Verdana" color="#000000" size="1"&gt;You can set this functionality programmatically or using the config file:&lt;/font&gt;&lt;/p&gt; &lt;p align="left"&gt;&lt;font face="Verdana" color="#000000" size="1"&gt;Programmatic Solution:&lt;/font&gt;&lt;/p&gt; &lt;p align="left"&gt;&lt;font face="Courier New" color="#000000" size="1"&gt;IDictionary props = new Hashtable(); &lt;br /&gt;&lt;/font&gt;&lt;font face="Courier New"&gt;&lt;font size="1"&gt;&lt;font color="#000000"&gt;props["typeFilterLevel"] = "Full"; &lt;br /&gt;&lt;/font&gt;&lt;font color="#000000"&gt;BinaryServerFormatterSinkProvider formatterProvider = new BinaryServerFormatterSinkProvider(props, null);&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt; &lt;p align="left"&gt;&lt;font face="Verdana" color="#000000" size="1"&gt;Here's the VB.NET code (just in case!)&lt;/font&gt;&lt;/p&gt; &lt;p align="left"&gt;&lt;font face="Verdana" color="#000000" size="1"&gt;If you are in VS 2003:&lt;/font&gt;&lt;/p&gt; &lt;p align="left"&gt;&lt;font face="Courier New" color="#000000" size="1"&gt;Dim h_Table As IDictionary&lt;br /&gt;&lt;/font&gt;&lt;font face="Courier New" color="#000000" size="1"&gt;h_Table = New Hashtable()&lt;br /&gt;&lt;/font&gt;&lt;font face="Courier New" color="#000000" size="1"&gt;h_Table("port") = 52000&lt;br /&gt;&lt;/font&gt;&lt;font face="Courier New" color="#000000" size="1"&gt;Dim obj_FormatProvider As New BinaryServerFormatterSinkProvider()&lt;br /&gt;&lt;/font&gt;&lt;font face="Courier New" color="#000000" size="1"&gt;obj_FormatProvider.TypeFilterLevel = Runtime.Serialization.Formatters.TypeFilterLevel.Full&lt;br /&gt;&lt;/font&gt;&lt;font face="Courier New"&gt;&lt;font size="1"&gt;&lt;font color="#000000"&gt;Dim chnl As New TcpChannel(h_Table, Nothing, obj_FormatProvider)&lt;br /&gt;&lt;/font&gt;&lt;font color="#000000"&gt;ChannelServices.RegisterChannel(chnl)&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt; &lt;p align="left"&gt;&lt;font face="Verdana" color="#000000" size="1"&gt;If you are in VS 2002:&lt;/font&gt;&lt;/p&gt; &lt;p align="left"&gt;&lt;font face="Courier New" color="#000000" size="1"&gt;Dim h_Table As IDictionary&lt;/font&gt;&lt;/p&gt; &lt;p align="left"&gt;&lt;font face="Courier New" color="#000000" size="1"&gt;h_Table = New Hashtable()&lt;br /&gt;&lt;/font&gt;&lt;font face="Courier New" color="#000000" size="1"&gt;h_Table("port") = 52000&lt;br /&gt;&lt;/font&gt;&lt;font face="Courier New" color="#000000" size="1"&gt;Dim h_Table2 As IDictionary&lt;br /&gt;&lt;/font&gt;&lt;font face="Courier New" color="#000000" size="1"&gt;h_Table2 = New Hashtable()&lt;br /&gt;&lt;/font&gt;&lt;font face="Courier New" color="#000000" size="1"&gt;h_Table2("typeFilterLevel") = "Full"&lt;br /&gt;&lt;/font&gt;&lt;font face="Courier New" color="#000000" size="1"&gt;Dim obj_FormatProvider2 As New BinaryServerFormatterSinkProvider(h_Table2, Nothing)&lt;br /&gt;&lt;/font&gt;&lt;font face="Courier New"&gt;&lt;font size="1"&gt;&lt;font color="#000000"&gt;Dim chnl2 As New TcpChannel(h_Table, Nothing, obj_FormatProvider2)&lt;br /&gt;&lt;/font&gt;&lt;font color="#000000"&gt;ChannelServices.RegisterChannel(chnl2)&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt; &lt;p align="left"&gt;&lt;font face="Verdana" color="#000000" size="1"&gt;Config File Solution:&lt;/font&gt;&lt;/p&gt; &lt;p align="left"&gt;&lt;font face="Verdana" color="#000000" size="1"&gt;To use a configuration file to set the serialization level, you must explicitly specify the typeFilterLevel attribute of the &amp;lt;formatter&amp;gt; element. Although this is typically done on the server side, you must also specify this attribute to control the serialization level for any channel on the client registered to listen for a callback. The following example sets the serialization level to Full for both the SoapFormatter and BinaryFormatter in this application domain.&lt;/font&gt;&lt;/p&gt; &lt;p align="left"&gt;&lt;font face="Verdana" color="#000000" size="1"&gt;&lt;/font&gt;&lt;/p&gt; &lt;p align="left"&gt;&lt;font face="Courier New" color="#000000" size="1"&gt;&amp;lt;configuration&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;lt;system.runtime.remoting&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;lt;application&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;service&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;wellknown &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; type="ServiceType, common" &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; objectUri=" ServiceType.soap" &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; mode="Singleton" &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/service&amp;gt;&lt;br /&gt;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;lt;channels&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;channel ref="http"&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;serverProviders&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;provider ref="wsdl" /&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;formatter ref="soap" typeFilterLevel="Full" /&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;formatter ref="binary" typeFilterLevel="Full" /&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/serverProviders&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/channel&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/channels&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;lt;/application&amp;gt;&lt;br /&gt;&amp;lt;/configuration&amp;gt;&lt;/font&gt;&lt;/p&gt; &lt;p align="left"&gt;&lt;font face="Verdana" color="#000000" size="1"&gt;See http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpguide/html/cpconautomaticdeserializationinnetremoting.asp for more info.&lt;/font&gt;&lt;/p&gt; &lt;p align="left"&gt;&lt;font face="Verdana" size="1"&gt;Your feedback is welcome.&lt;/font&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=78754" width="1" height="1"&gt;</description></item><item><title>About Me: Santhosh Pillai</title><link>http://blogs.msdn.com/b/sanpil/archive/2004/02/23/78752.aspx</link><pubDate>Tue, 24 Feb 2004 02:04:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:78752</guid><dc:creator>MSDNArchive</dc:creator><slash:comments>2</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.msdn.com/b/sanpil/rsscomments.aspx?WeblogPostID=78752</wfw:commentRss><comments>http://blogs.msdn.com/b/sanpil/archive/2004/02/23/78752.aspx#comments</comments><description>&lt;p&gt;&lt;font face="Verdana"&gt;&lt;font color="#000000" size="1"&gt;My Name is Santhosh Pillai. I am a Technical Lead in the Microsoft Developer Support Organization. Till recently I used to support OLE, COM, DCOM, .NET Remoting, and COM Interop technologies. I am moving to Multimedia support soon, but most of the posts I am planning to put here will be on the technologies I supported for the last 4 years: COM, DCOM, Remoting, and COM Interop.&lt;br /&gt;&lt;/font&gt;&lt;/font&gt;&lt;font face="Verdana"&gt;&lt;font color="#000000"&gt;&lt;br /&gt;&lt;font size="1"&gt;You may have seen my postings in newsgroups like microsoft.public.win32.programmer.ole, microsoft.public.dotnet.framework.remoting, and microsoft.public.dotnet.framework.interop. If I failed to answer any of your queries there, it must be because I was really swamped.&lt;br /&gt;&lt;br /&gt;Originally from India, now I live in Seattle with my wife Divya and my son Achu.&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;font face="Verdana"&gt;&lt;font color="#000000"&gt;&lt;/p&gt;&lt;/font&gt;&lt;/font&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=78752" width="1" height="1"&gt;</description></item></channel></rss>
