<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-4880496370572827765</id><updated>2012-01-24T18:41:33.503-05:00</updated><category term='logging application block'/><category term='Asynchronous logging'/><category term='Silverlight tree'/><category term='Visual Studio 2008 Install-fest'/><category term='SSIS configuration file warning'/><category term='assembly not copied'/><category term='Enterprise library'/><category term='VS 2008 Installfest'/><category term='SSIS'/><category term='Asynchronous logging application block'/><category term='exception handling application block'/><category term='Sql Server 2005'/><category term='.NET'/><category term='SSIS packages'/><title type='text'>DEveloping iN .NEt</title><subtitle type='html'>My experience and thoughts as a .NET Developer</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://systematically.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4880496370572827765/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://systematically.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Saran</name><uri>http://www.blogger.com/profile/16756852404080070103</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>11</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-4880496370572827765.post-5523552228370815424</id><published>2009-10-15T22:52:00.003-04:00</published><updated>2011-03-26T10:32:38.790-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Silverlight tree'/><title type='text'>My first Silverlight App</title><content type='html'>My first Silverlight App&lt;br /&gt;&lt;br /&gt;&lt;iframe src="https://dl.dropbox.com/u/11901280/TestPage.html" style="width: 300px; height: 250px;" frameborder="0" scrolling="no"&gt;&lt;/iframe&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Source is available @:&lt;br /&gt;&lt;br /&gt;http://cid-0476ca5e9f26e63c.office.live.com/embedicon.aspx/Public/Documents/SilverLight/MyApp.zip&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4880496370572827765-5523552228370815424?l=systematically.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://systematically.blogspot.com/feeds/5523552228370815424/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4880496370572827765&amp;postID=5523552228370815424' title='22 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4880496370572827765/posts/default/5523552228370815424'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4880496370572827765/posts/default/5523552228370815424'/><link rel='alternate' type='text/html' href='http://systematically.blogspot.com/2009/10/my-first-silverlight-app.html' title='My first Silverlight App'/><author><name>Saran</name><uri>http://www.blogger.com/profile/16756852404080070103</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>22</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4880496370572827765.post-5120034447112750533</id><published>2008-01-31T16:24:00.000-05:00</published><updated>2008-01-31T16:38:53.314-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='SSIS configuration file warning'/><category scheme='http://www.blogger.com/atom/ns#' term='SSIS'/><category scheme='http://www.blogger.com/atom/ns#' term='Sql Server 2005'/><category scheme='http://www.blogger.com/atom/ns#' term='SSIS packages'/><title type='text'>SSIS configuration file warning</title><content type='html'>While trying to run one of our SSIS packages after migrating from development to string testing I got an interesting warning message.&lt;br /&gt;&lt;br /&gt;Warning: 2008-01-31 16:02:38.88&lt;br /&gt;Code: 0x80012014&lt;br /&gt;Source: Package_Name&lt;br /&gt;Description: The configuration file "X:\\Package_Name.dtsConfig" cannot be found. Check the directory and file name.&lt;br /&gt;End Warning&lt;br /&gt;Warning: 2008-01-31 16:02:38.88&lt;br /&gt;Code: 0x80012059&lt;br /&gt;Source: Package_Name&lt;br /&gt;Description: Failed to load at least one of the configuration entries for the package. Check configurations entries and previous warnings to see descriptions of which configuration failed.&lt;br /&gt;End Warning&lt;br /&gt;&lt;br /&gt;I was trying to run the package using the dtexec utility with the /conf option. At design time the package was bound to the dev config file. After the migration to the string environment I wanted to run the same package but pointing to the string config file. And that raised the above mentioned error.&lt;br /&gt;&lt;br /&gt;This happens because the package configuration file name and location are embedded into the package.&lt;br /&gt;&lt;br /&gt;&amp;lt;:Property DTS:Name="ConfigurationString"&amp;gt;X:\\Package_Name.dtsConfig&amp;lt;/DTS:Property&amp;gt;&lt;br /&gt;&lt;br /&gt;And at run time the package first looks for the file bound at design time rather than the one you specified in the dtexec command. But this is only a warning. The package runs properly after this warning message.&lt;br /&gt;&lt;br /&gt;So I understand that the SSIS package first looks for the design time configuration file and then goes for the file specified in /conf option.&lt;br /&gt;&lt;br /&gt;One more thing I noticed while deploying a package to a file system is you are not allowed to type the path. The control is disabled!!&lt;br /&gt;&lt;br /&gt;I had to install the SSIS package in a LAN share whose path I know very well. As I was not able to key in the path, I had to search hard for the share in the "Entire Network" node in the folder browser dialog. This is a tedious way of doing it as the company I work for has N number of systems and servers out there in the network. It would be much better if you were allowed to key in the path. &lt;blockquote&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;/blockquote&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4880496370572827765-5120034447112750533?l=systematically.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://systematically.blogspot.com/feeds/5120034447112750533/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4880496370572827765&amp;postID=5120034447112750533' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4880496370572827765/posts/default/5120034447112750533'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4880496370572827765/posts/default/5120034447112750533'/><link rel='alternate' type='text/html' href='http://systematically.blogspot.com/2008/01/ssis-configuration-file-warning.html' title='SSIS configuration file warning'/><author><name>Saran</name><uri>http://www.blogger.com/profile/16756852404080070103</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4880496370572827765.post-825544720691250937</id><published>2008-01-30T14:34:00.000-05:00</published><updated>2008-02-05T14:03:08.139-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Asynchronous logging application block'/><category scheme='http://www.blogger.com/atom/ns#' term='.NET'/><category scheme='http://www.blogger.com/atom/ns#' term='Asynchronous logging'/><title type='text'>Asynchronous logging using Logging Application Block</title><content type='html'>&lt;p&gt;A quick search in the web for asynchronous logging using Logging Application Block revealed that there is only one way of doing it, using MSMQ and DistributorService.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;I don’t have the option of using MSMQ for my application. So I put together a small solution for this problem using Jon Skeet’s asynchronous helper class called ThreadUtil [Thanks Jon]. The helper class has a method "FireAndForget" through which we can make an asynchronous calls without worrying about leaking handles. The helper class takes care of calling the EndInvoke and closing the waitHandle.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;My solution is to use the helper class and make asynchronous calls to the Logging application block. &lt;/p&gt;&lt;p&gt;&lt;br /&gt;The sample can be downloaded from:&lt;/p&gt;&lt;a href="http://cid-0476ca5e9f26e63c.skydrive.live.com/self.aspx/Public/Documents/AsynchLogging.zip" target="_blank"&gt;http://cid-0476ca5e9f26e63c.skydrive.live.com/self.aspx/Public/Documents/AsynchLogging.zip&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;&lt;em&gt;Update:&lt;/em&gt;&lt;/strong&gt;&lt;br /&gt;In the asynchronous helper class the call to EndInvoke should be wrapped with in a try catch block. If not &amp; if there is an exception while running the asynchronous method, it will be raised by the runtime when we call EndInvoke. If the exception is not handled at this point it would crash the whole application!&lt;br /&gt;&lt;br /&gt;The new updated sample can be downloaded from:&lt;br /&gt;&lt;a href="http://cid-0476ca5e9f26e63c.skydrive.live.com/self.aspx/Public/Documents/AsynchLogging_Updated.zip"  target="_blank"&gt;http://cid-0476ca5e9f26e63c.skydrive.live.com/self.aspx/Public/Documents/AsynchLogging_Updated.zip&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4880496370572827765-825544720691250937?l=systematically.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://systematically.blogspot.com/feeds/825544720691250937/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4880496370572827765&amp;postID=825544720691250937' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4880496370572827765/posts/default/825544720691250937'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4880496370572827765/posts/default/825544720691250937'/><link rel='alternate' type='text/html' href='http://systematically.blogspot.com/2008/01/asynchronous-logging-using-logging.html' title='Asynchronous logging using Logging Application Block'/><author><name>Saran</name><uri>http://www.blogger.com/profile/16756852404080070103</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4880496370572827765.post-3343733391523139904</id><published>2008-01-29T15:50:00.000-05:00</published><updated>2008-01-29T16:01:56.189-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='logging application block'/><category scheme='http://www.blogger.com/atom/ns#' term='exception handling application block'/><category scheme='http://www.blogger.com/atom/ns#' term='assembly not copied'/><category scheme='http://www.blogger.com/atom/ns#' term='Enterprise library'/><title type='text'>Enterprise library logging &amp; exception handling application blocks</title><content type='html'>I am creating a tool which automates the build process of our application. I was using the logging &amp;amp; exception handling application blocks from enterprise library. I encountered an interesting problem.&lt;br /&gt;&lt;br /&gt;The “Microsoft.Practices.EnterpriseLibrary.ExceptionHandling.Logging” assembly that is used by the exception handling block to log the exception through the “Logging Handler” is not copied over to the main project output directory.&lt;br /&gt;&lt;br /&gt;This issue is also discussed in the following URL : &lt;a href="http://www.codeplex.com/entlib/Thread/View.aspx?ThreadId=18926"&gt;http://www.codeplex.com/entlib/Thread/View.aspx?ThreadId=18926&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;My visual studio solution had a GUI project [windows forms], which references a custom helper class library for logging. The custom library has references to the “Microsoft.Practices.EnterpriseLibrary.ExceptionHandling.Logging” assembly with CopyLocal property set to true. When I build the solution the assembly is copied to the output directory of the class library but not to the main GUI project. So when my application tries to log an exception it fails.&lt;br /&gt;&lt;br /&gt;As a workaround I added a using statement to one of the classes in the class library.&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#3366ff;"&gt;using&lt;/span&gt; Microsoft.Practices.EnterpriseLibrary.ExceptionHandling.Logging;&lt;br /&gt;&lt;br /&gt;I also added a dummy statement in the code.&lt;br /&gt;&lt;span style="color:#33cc00;"&gt;LoggingExceptionHandler&lt;/span&gt; exceptionHandler = &lt;span style="color:#3366ff;"&gt;null&lt;/span&gt;;&lt;br /&gt;&lt;br /&gt;Now the assembly is copied to the main GUI project output directory . If I comment out the above code the assembly is not copied to the output directory.&lt;br /&gt;&lt;br /&gt;I guess Visual Studio copies the assemblies to the output directory of main project only if they are referred in the code. Another work around is to use the post build event to copy the dll to the output directory.&lt;br /&gt;&lt;br /&gt;Sample:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://cid-0476ca5e9f26e63c.skydrive.live.com/self.aspx/Public/Documents/WindowsApplication3.zip"&gt;http://cid-0476ca5e9f26e63c.skydrive.live.com/self.aspx/Public/Documents/WindowsApplication3.zip&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4880496370572827765-3343733391523139904?l=systematically.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://systematically.blogspot.com/feeds/3343733391523139904/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4880496370572827765&amp;postID=3343733391523139904' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4880496370572827765/posts/default/3343733391523139904'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4880496370572827765/posts/default/3343733391523139904'/><link rel='alternate' type='text/html' href='http://systematically.blogspot.com/2008/01/enterprise-library-logging-exception.html' title='Enterprise library logging &amp; exception handling application blocks'/><author><name>Saran</name><uri>http://www.blogger.com/profile/16756852404080070103</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4880496370572827765.post-6924791088912293297</id><published>2007-12-13T19:36:00.000-05:00</published><updated>2007-12-13T19:39:12.880-05:00</updated><title type='text'>Visual Studio 2008 Installation Experience</title><content type='html'>The installation experience of Visual Studio 2008 is good. It’s pretty smooth. I choose to install all the options. It took 4.3 GB and 75 minutes to install the whole stuff excluding MSDN in my system [Pentium M 1.7 GHz with 1GB ram].&lt;br /&gt;&lt;br /&gt;The installer didn’t ask me to restart the system in the middle. That’s one good thing. I hate re starting a system while installing software. But I had to restart the system at the end.&lt;br /&gt;&lt;br /&gt;After installation I tried creating a Hello World web site, and it worked flawlessly. Thanks a lot for Brad [IndyNDA.org] and Microsoft for this awesome Christmas gift :-D.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4880496370572827765-6924791088912293297?l=systematically.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://systematically.blogspot.com/feeds/6924791088912293297/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4880496370572827765&amp;postID=6924791088912293297' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4880496370572827765/posts/default/6924791088912293297'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4880496370572827765/posts/default/6924791088912293297'/><link rel='alternate' type='text/html' href='http://systematically.blogspot.com/2007/12/visual-studio-2008-installation.html' title='Visual Studio 2008 Installation Experience'/><author><name>Saran</name><uri>http://www.blogger.com/profile/16756852404080070103</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4880496370572827765.post-1569185487444242451</id><published>2007-12-13T18:01:00.000-05:00</published><updated>2007-12-13T18:04:53.735-05:00</updated><title type='text'>Indy Vs 2008 Install Fest</title><content type='html'>WOW I can’t believe it !!!. I am installing Visual studio 2008 Professional right now!!! I was expecting to start after 6:00 PM today. Good for me ;-)&lt;br /&gt;&lt;br /&gt;I came to the Gene B. Glick at 5:00pm thinking that I would be the first person. But there were a lot of people waiting there to my surprise!!!. The event organization is so good; I got into the conference room immediately.&lt;br /&gt;&lt;br /&gt;Lets see how the day turns out to be.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4880496370572827765-1569185487444242451?l=systematically.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://systematically.blogspot.com/feeds/1569185487444242451/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4880496370572827765&amp;postID=1569185487444242451' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4880496370572827765/posts/default/1569185487444242451'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4880496370572827765/posts/default/1569185487444242451'/><link rel='alternate' type='text/html' href='http://systematically.blogspot.com/2007/12/indy-vs-2008-install-fest.html' title='Indy Vs 2008 Install Fest'/><author><name>Saran</name><uri>http://www.blogger.com/profile/16756852404080070103</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4880496370572827765.post-5200414032738072033</id><published>2007-12-05T23:01:00.000-05:00</published><updated>2007-12-05T23:05:43.513-05:00</updated><title type='text'>Microsoft Architecture Journal Reader</title><content type='html'>Came across the new "Architecture Journal Reader" from microsoft.&lt;br /&gt;&lt;br /&gt;This a nice offline reader for the architecture journal. The content downloaded is available offline and also searchable.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=dd466bbb-1b7d-438e-9f9a-954ce2058f15&amp;amp;DisplayLang=en"&gt;http://www.microsoft.com/downloads/details.aspx?FamilyID=dd466bbb-1b7d-438e-9f9a-954ce2058f15&amp;amp;DisplayLang=en&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4880496370572827765-5200414032738072033?l=systematically.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://systematically.blogspot.com/feeds/5200414032738072033/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4880496370572827765&amp;postID=5200414032738072033' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4880496370572827765/posts/default/5200414032738072033'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4880496370572827765/posts/default/5200414032738072033'/><link rel='alternate' type='text/html' href='http://systematically.blogspot.com/2007/12/microsoft-architecture-journal-reader.html' title='Microsoft Architecture Journal Reader'/><author><name>Saran</name><uri>http://www.blogger.com/profile/16756852404080070103</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4880496370572827765.post-1687914176566794046</id><published>2007-12-05T20:19:00.000-05:00</published><updated>2007-12-05T20:32:41.348-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='.NET'/><category scheme='http://www.blogger.com/atom/ns#' term='Visual Studio 2008 Install-fest'/><category scheme='http://www.blogger.com/atom/ns#' term='VS 2008 Installfest'/><title type='text'>Visual Studio 2008 Install-Fest</title><content type='html'>Wow i am going to the VS 2008 Install-Fest on Dec. 13th in Indianapolis, Courtesy of Indy .NET User group. Hope I get a free copy of VS 2008.&lt;br /&gt;&lt;br /&gt;IndyNDA [indynda.org] has restricted the number of free VS 2008 distributed to 175. I don’t see this kind of restriction in any other Install-Fest held around the country.&lt;br /&gt;&lt;br /&gt;Also I don’t understand why Indy developers have this restriction while others around the country enjoy a free copy if they attend install-fest. Are Indy .NET developers being discriminated?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4880496370572827765-1687914176566794046?l=systematically.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://systematically.blogspot.com/feeds/1687914176566794046/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4880496370572827765&amp;postID=1687914176566794046' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4880496370572827765/posts/default/1687914176566794046'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4880496370572827765/posts/default/1687914176566794046'/><link rel='alternate' type='text/html' href='http://systematically.blogspot.com/2007/12/visaul-studio-2008-install-fest.html' title='Visual Studio 2008 Install-Fest'/><author><name>Saran</name><uri>http://www.blogger.com/profile/16756852404080070103</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4880496370572827765.post-5048970898125659003</id><published>2007-11-05T15:34:00.000-05:00</published><updated>2007-11-05T15:39:42.573-05:00</updated><title type='text'>Binding a complex object to DetailsView</title><content type='html'>One of the common requirements while building an application is to bind to your domain objects. .Net has some excellent features for doing this.&lt;br /&gt;&lt;br /&gt;Recently I was experimenting with Details view and binding it to a domain specific object. The default binding works fine if the object properties are of simple type.&lt;br /&gt;&lt;br /&gt;What if the Object has a property that itself is an object. Assume that we have a user object which represents a user in the application [like a customer]. The user will have a name, age. So far it’s good. The default binding will bind to the objects simple properties.&lt;br /&gt;&lt;br /&gt;But Customers will have addresses. For dealing with this usually we create an address object and expose it as a property of the User object. Now if you bind the user object to the DetailsView the default data binding skips the address property.&lt;br /&gt;&lt;br /&gt;Ok, how to get your customers address displayed in the details view. There are a couple of was to do it.&lt;br /&gt;&lt;br /&gt;If you are just concerned about displaying data, then the short and easy way is to override the ToString() method of the inner objects. For example if you override the ToString() method of the Address object so that it returns a string which contains all the address information, then the default binding will display the address! If you follow this path and if you are not careful your object might end up knowing all the display details.&lt;br /&gt;&lt;br /&gt;Another way is to use and template fields in combination. But this is one way binding. We have to write up code that hooks up to proper events for editing and inserting. We can not use the Bind method for two way binding. It raises an error saying that the syntax for the binding expression is not correct.&lt;br /&gt;&lt;br /&gt;One another approach is to create custom DataControlField object which can handle the inner object of type Address. Dino Esposito has a very good article on this @ &lt;a href="http://msdn.microsoft.com/msdnmag/issues/06/01/CuttingEdge/"&gt;http://msdn.microsoft.com/msdnmag/issues/06/01/CuttingEdge/&lt;/a&gt;. You can follow this approach if we need more specialized presentation.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4880496370572827765-5048970898125659003?l=systematically.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://systematically.blogspot.com/feeds/5048970898125659003/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4880496370572827765&amp;postID=5048970898125659003' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4880496370572827765/posts/default/5048970898125659003'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4880496370572827765/posts/default/5048970898125659003'/><link rel='alternate' type='text/html' href='http://systematically.blogspot.com/2007/11/binding-complex-object-to-detailsview.html' title='Binding a complex object to DetailsView'/><author><name>Saran</name><uri>http://www.blogger.com/profile/16756852404080070103</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4880496370572827765.post-6544120040386537807</id><published>2007-09-10T21:09:00.000-04:00</published><updated>2007-09-10T21:40:54.032-04:00</updated><title type='text'>Beware of String.IsNullOrEmpty</title><content type='html'>A very useful method when used with caution. Yes with caution!&lt;br /&gt;&lt;br /&gt;Recently I was asked by our BA to use the IsNullOrEmpty method while checking for the existence of value in a string variable. Its new to me. He said that it has more performance than the usual way of doing this.&lt;br /&gt;&lt;br /&gt;I decided to dig more about this.  In the next 15 minutes i found that it has its own issues.&lt;br /&gt;&lt;br /&gt;Yes issue, a very big one !&lt;br /&gt;&lt;br /&gt;When used inside a loop it will crash the whole application. No error handling works here.&lt;br /&gt;This is caused by JIT optimization.&lt;br /&gt;&lt;br /&gt;Bill has a good write up about this here: &lt;a href="http://msmvps.com/blogs/bill/archive/2006/04/04/89234.aspx"&gt;http://msmvps.com/blogs/bill/archive/2006/04/04/89234.aspx&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#cc0000;"&gt;&lt;em&gt;Note this happens only when you build your application in release mode with optimizations on.&lt;/em&gt; &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Microsoft has the following page on the issue. Fix is available only in Orcas.&lt;br /&gt;&lt;a href="http://connect.microsoft.com/VisualStudio/feedback/ViewFeedback.aspx?FeedbackID=113102"&gt;http://connect.microsoft.com/VisualStudio/feedback/ViewFeedback.aspx?FeedbackID=113102&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Well, as for me I am now fixing those IsNullOrEmpty method calls along with the rest of the team .....&lt;br /&gt;&lt;br /&gt;One more issue to fix ................................................... ;-)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4880496370572827765-6544120040386537807?l=systematically.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://systematically.blogspot.com/feeds/6544120040386537807/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4880496370572827765&amp;postID=6544120040386537807' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4880496370572827765/posts/default/6544120040386537807'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4880496370572827765/posts/default/6544120040386537807'/><link rel='alternate' type='text/html' href='http://systematically.blogspot.com/2007/09/beware-of-stringisnullorempty.html' title='Beware of String.IsNullOrEmpty'/><author><name>Saran</name><uri>http://www.blogger.com/profile/16756852404080070103</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4880496370572827765.post-6617880237428743446</id><published>2007-09-10T20:57:00.000-04:00</published><updated>2007-09-10T21:02:02.627-04:00</updated><title type='text'>Hello World !!!</title><content type='html'>&lt;span style="font-family:verdana;"&gt;Yes .... this is my hello world in the BLog world.....&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Verdana;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Verdana;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Verdana;"&gt;Just like starting to learn one more language...... ;-)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Verdana;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Verdana;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Verdana;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Verdana;"&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4880496370572827765-6617880237428743446?l=systematically.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://systematically.blogspot.com/feeds/6617880237428743446/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4880496370572827765&amp;postID=6617880237428743446' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4880496370572827765/posts/default/6617880237428743446'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4880496370572827765/posts/default/6617880237428743446'/><link rel='alternate' type='text/html' href='http://systematically.blogspot.com/2007/09/hello-world.html' title='Hello World !!!'/><author><name>Saran</name><uri>http://www.blogger.com/profile/16756852404080070103</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry></feed>
