<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://weblogs.asp.net/utility/FeedStylesheets/atom.xsl" media="screen"?><feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en"><title type="html">Joshua Prismon's Technical weblog</title><subtitle type="html">.NET News Now</subtitle><id>http://weblogs.asp.net/jprismon/atom.aspx</id><link rel="alternate" type="text/html" href="http://weblogs.asp.net/jprismon/default.aspx" /><link rel="self" type="application/atom+xml" href="http://weblogs.asp.net/jprismon/atom.aspx" /><generator uri="http://communityserver.org" version="3.0.20510.895">Community Server</generator><updated>2003-08-07T12:00:00Z</updated><entry><title>Anyone from the MS-Word team around?</title><link rel="alternate" type="text/html" href="http://weblogs.asp.net/jprismon/archive/2004/09/11/228300.aspx" /><id>http://weblogs.asp.net/jprismon/archive/2004/09/11/228300.aspx</id><published>2004-09-11T19:42:00Z</published><updated>2004-09-11T19:42:00Z</updated><content type="html">I am not sure how many people here are aware of the discussion going on right now about some supposed memos unearthed from the late 60s/70s. While the debate itself is political, the actual question is fairly technical. Someone pulled up the memos and started typing them into Microsoft Word (with the truetype Times New Roman)&amp;nbsp; and discovered that the output looks identical to the supposidly old and typewritten memos from the 60s. In fact, It's even Superscripted exactly where Word auto superscripts. Never-mind the proportional fonts and the fact that the signature is now being called into question. The theory is that this may have been written in word and photocopied 10+ times. &lt;br /&gt;&lt;br /&gt;Here is the original version:&lt;br /&gt;&lt;img alt="" src="file:///C:/DOCUME%7E1/JOSH/LOCALS%7E1/TEMP/moz-screenshot-2.jpg" /&gt;&lt;br /&gt;Here is the new version typed in word and printed in PDF:&lt;br /&gt;http://homepage.mac.com/cfj/.Pictures/aug1873-pdf-word.gif&lt;br /&gt;&lt;img alt="" src="file:///C:/DOCUME%7E1/JOSH/LOCALS%7E1/TEMP/moz-screenshot-1.jpg" /&gt;&lt;br /&gt;Here are the two layered on top of each other:&lt;br /&gt;http://homepage.mac.com/cfj/.Pictures/aug1873-pdf-overlay.gif&lt;br /&gt;&lt;img alt="" src="file:///C:/DOCUME%7E1/JOSH/LOCALS%7E1/TEMP/moz-screenshot-3.jpg" /&gt;&lt;br /&gt;&lt;br /&gt;The debate has focused around the idea to try and disprove that any typewriter in the 60s/70s could have actually published this. Rather then try and prove a negative, how about prove a positive. Is there anything in this document that definitively proves that it is modern? In particular, there definitely seem to be some TrueType hinting going on (check out the my/regarding etc).&lt;br /&gt;&lt;br /&gt;If this post is too political, I will happily remove it. I am more curious whether we can prove it was Word or not. &lt;br /&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=228300" width="1" height="1"&gt;</content><author><name>jprismon</name><uri>http://weblogs.asp.net/members/jprismon.aspx</uri></author></entry><entry><title>Go Space Ship 1</title><link rel="alternate" type="text/html" href="http://weblogs.asp.net/jprismon/archive/2004/06/21/161577.aspx" /><id>http://weblogs.asp.net/jprismon/archive/2004/06/21/161577.aspx</id><published>2004-06-21T18:05:00Z</published><updated>2004-06-21T18:05:00Z</updated><content type="html">Congrads to the team for going orbital. It's nice to see any sort of new space record set ;-)&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=161577" width="1" height="1"&gt;</content><author><name>jprismon</name><uri>http://weblogs.asp.net/members/jprismon.aspx</uri></author></entry><entry><title>Annotated Reference...</title><link rel="alternate" type="text/html" href="http://weblogs.asp.net/jprismon/archive/2004/05/04/125886.aspx" /><id>http://weblogs.asp.net/jprismon/archive/2004/05/04/125886.aspx</id><published>2004-05-04T18:55:00Z</published><updated>2004-05-04T18:55:00Z</updated><content type="html">After loosing the last six months to a java project, I finally get to turn my attention back to .NET. To try and catch up on things, I just picked up a copy of Brad Abrams BCL Annotated Reference. Most interesting. More as I get thru that. Finally installed Whidbey and VS2005, and I am looking forward to seeing what improvements they and the mono team are up too. &lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=125886" width="1" height="1"&gt;</content><author><name>jprismon</name><uri>http://weblogs.asp.net/members/jprismon.aspx</uri></author></entry><entry><title>$199 or No....</title><link rel="alternate" type="text/html" href="http://weblogs.asp.net/jprismon/archive/2003/10/27/33894.aspx" /><id>http://weblogs.asp.net/jprismon/archive/2003/10/27/33894.aspx</id><published>2003-10-27T22:27:00Z</published><updated>2003-10-27T22:27:00Z</updated><content type="html">&lt;A href="http://weblogs.asp.net/lhunt/"&gt;Lance &lt;/A&gt;Wrote: 
&lt;BLOCKQUOTE&gt;Special Access to Longhorn and Whidbey PDC Release Code Active MSDN Operating Systems, Professional, Enterprise, and Universal subscribers may request a set of software distributed at the Microsoft Professional Developers Conference 2003 (PDC), including the preview versions of the "Longhorn" operating system and SDK, and Visual Studio "Whidbey". Eligible MSDN Subscribers can request the previews by calling MSDN Customer Service. Certified Partners and Breadth ISV / Empower partners should contact their respective Service Centers for further assistance. Note that the preview package contains DVD media, and a DVD drive is required. Please allow 3-4 weeks for fulfillment. &lt;/BLOCKQOUTE&gt;&lt;/BLOCKQUOTE&gt;Actually, I called them up earlier today, and they stated that it would be $119. They also stated that it would only be available for PDC members, so I suspect that there story is still a bit up in the air, so I will try calling back later. This PDC stuff (and the lack of budget at my company) is killing me, but at least there is some good documentation out there. /me heads back to read more on XAML.&lt;p&gt;&lt;b&gt;One of the things that got .NET off the ground was the availability of the Beta2 bits everywhere. I hope Microsoft continues with that&lt;/b&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=33894" width="1" height="1"&gt;</content><author><name>jprismon</name><uri>http://weblogs.asp.net/members/jprismon.aspx</uri></author></entry><entry><title>Excited...</title><link rel="alternate" type="text/html" href="http://weblogs.asp.net/jprismon/archive/2003/10/27/33827.aspx" /><id>http://weblogs.asp.net/jprismon/archive/2003/10/27/33827.aspx</id><published>2003-10-27T18:57:00Z</published><updated>2003-10-27T18:57:00Z</updated><content type="html">Sounds like both XAML and ASP.Net2 have support for partial classes. This sounds excellent. UI is seperate from Design (in the form of partial clases) yet simple in class access to private and protected members. Neat Design. &lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=33827" width="1" height="1"&gt;</content><author><name>jprismon</name><uri>http://weblogs.asp.net/members/jprismon.aspx</uri></author></entry><entry><title>Postback's of dooom</title><link rel="alternate" type="text/html" href="http://weblogs.asp.net/jprismon/archive/2003/10/23/33165.aspx" /><id>http://weblogs.asp.net/jprismon/archive/2003/10/23/33165.aspx</id><published>2003-10-23T20:07:00Z</published><updated>2003-10-23T20:07:00Z</updated><content type="html">&lt;BLOCKQUOTE&gt;
&lt;P&gt;I got &amp;#8220;instructed&amp;#8221; by a friend to blog some of my more informative forum/list/newsgroup posts, especially the following one which describes the general mechanisms of events with webcontrols, so here you have it. (Names and emails removed to protected the guilty)&lt;/P&gt;
&lt;P&gt;Here is an abbreviated look at the lifecycle:&lt;/P&gt;
&lt;P&gt;Init&lt;BR&gt;Load ViewState Data&lt;BR&gt;Load PostBack Data&lt;BR&gt;Load&lt;BR&gt;Fire Events&lt;BR&gt;PreRender&lt;BR&gt;Render&lt;/P&gt;
&lt;P&gt;To fire control events at a base level, you implement either&lt;BR&gt;IPostBackDataHandler or IPostBackEventHandler.&lt;/P&gt;
&lt;P&gt;When you implement IPostBackEventHandler, you are saying that when the&lt;BR&gt;page has determined that your control was the cause of the post back it&lt;BR&gt;will call your RaisePostBackEventHandler implementation during the "Fire&lt;BR&gt;Events" phase. Buttons implement this, for when they are clicked. In&lt;BR&gt;that method you should raise your event. &lt;/P&gt;
&lt;P&gt;When you implement IPostBackDataHandler, you are saying that your&lt;BR&gt;control has post data that you need to examine in order to determine if&lt;BR&gt;an event needs to be fired. The page will call your LoadPostData&lt;BR&gt;implementation during the "Load PostBack Data" phase. Here you look at&lt;BR&gt;the post data to determine if you need to raise an event, but you don't&lt;BR&gt;raise it now. If you return true from this, the page will call your&lt;BR&gt;RaisePostDataChangedEvent implementation during the "Fire Events" phase.&lt;BR&gt;Now you raise your event. Textboxes implement this interface, to&lt;BR&gt;determine if they should raise their TextChanged event.&lt;/P&gt;
&lt;P&gt;&lt;BR&gt;Those are the low-level event mechanisms. However, if you are&lt;BR&gt;implementing a composite control, you have another, higher-level choice,&lt;BR&gt;which is to handle the events raised by your child controls in order to&lt;BR&gt;raise your own events. Sometimes this is done via event bubbling, other&lt;BR&gt;times by creating a whole new event. To do this, progmaticly hook up the&lt;BR&gt;eventhandler as you are creating the child controls. This is the way the&lt;BR&gt;datagrid works.&lt;/P&gt;
&lt;P&gt;&lt;BR&gt;__&lt;BR&gt;Andy Smith&lt;BR&gt;Chief Code Monkey &lt;/P&gt;&lt;A title="custom webcontrols and serverside events" HREF="/asmith/posts/32392.aspx"&gt;[Andy Smith's Blog]&lt;/A&gt; &lt;/BLOCKQUOTE&gt;
&lt;P&gt;Funny you should blog over this, since I have been grappeling with it the last few days. As a interesting side note, simply implementing System.Web.UI.IPostBackDataHandler doesn't always seem to result in postback's being routed to&lt;FONT color=#0000ff&gt; public bool LoadPostData().&lt;/FONT&gt; &lt;/P&gt;
&lt;P&gt;Because of the way that I was generating my asp.net controls (reflection at dynamically proxied objects, which change depending on the database structure, and the current user) and because I was a idiot a couple of times, I was running into weird bugs where I would have three postbacks pending, but after the first postback was called, neither of the other two were delivered. There were also business rules that say things like: "You must add the password to the object before adding a username." Because of all of these problems, I decided that I needed to handle Postback's manually rather then let ASP.net do the lifting for me.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;Even though I use three layers of objects to determine rendering order (PropertyGrid, Panel, Row), using three layers made dispatching Postback's a bit more difficult. I ended up overriding the Render() method on each object and used ListArrays to determine what needed to be rendered at each point. The trick was that even though I was rendering three layers of a tree, I put all of my controls in the top level ControlCollection. This made it much easier to dispatch and control postback's carefully. Then I used LoadPostData to write data to my proxied objects via reflection and to the Textboxes and whatnot. What I am striving for is a single control that I throw at any arbitrary object, add a few attributes and voila, a nice data entry system.&lt;/P&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=33165" width="1" height="1"&gt;</content><author><name>jprismon</name><uri>http://weblogs.asp.net/members/jprismon.aspx</uri></author><category term="ADO.net" scheme="http://weblogs.asp.net/jprismon/archive/tags/ADO.net/default.aspx" /></entry><entry><title>The right tool for the right job?</title><link rel="alternate" type="text/html" href="http://weblogs.asp.net/jprismon/archive/2003/10/09/31322.aspx" /><id>http://weblogs.asp.net/jprismon/archive/2003/10/09/31322.aspx</id><published>2003-10-09T20:52:00Z</published><updated>2003-10-09T20:52:00Z</updated><content type="html">&lt;P&gt;In a blog entry entitled: JetBrains Selling Arms to the Enemy?, Carlos Perez &lt;A href="http://www.manageability.org/blog/stuff/jetbrains-selling-arms-to-the-enemy"&gt;summed up the entire .NET vs. Java battle&lt;/A&gt;:&lt;/P&gt;
&lt;BLOCKQUOTE&gt;Okay, I don't want to be controversial, however after reading the &lt;A href="http://www.eugenebelyaev.com/begblog/general/000050.html"&gt;latest blog&lt;/A&gt; from the CTO of JetBrains, I just got to sound off! For the uninitiated JetBrains is the developer of the kick-ass Java IDE IntelliJ IDEA. It appears that JetBrains has a plan to develop, god forbid, a addin for VS.NET! See, Java developers have for a while now have a enviable position of having bleeding edge coding tools. Something many in the .NET community aren't aware of and therefore don't miss. 
&lt;P&gt;Now, I'm not against companies exploring new market opportunities. However, isn't creating an addin for VS.NET just like selling arms to your enemies? &lt;/P&gt;&lt;/BLOCKQUOTE&gt;Rather then review the many incorrect technical points that Carlos has made in the 101 list, as well as the technology changes that have now led to .NET leading Java in terms of programmers and new projects, I will focus simply on the above points as well as another post that I somehow missed (probably because I un RSS'd subscribed him). 
&lt;BLOCKQUOTE&gt;"Do More With Less" the latest marketing slogan from Microsoft. Is there more to this than a spin on their technology or could this be more of a subtle hint, an invitation to go offshore? .... 
&lt;P&gt;Is it any wonder that the Microsoft group, that built the Java to .NET converter (i.e. JLCA), is based in India and Costa Rica? I don't know where the other Microsoft migration tools where developed, however I can bet you that Microsoft's "center for excellence" in porting and migration is located in some offshore location. &lt;/P&gt;&lt;/BLOCKQUOTE&gt;You can read the full argument &lt;A href="http://www.manageability.org/blog/stuff/gateway_to_offshore/view"&gt;Here&lt;/A&gt; As usual the arguments tend to be rhetoric based on his own personal observations rather then any statistical analysis. Most of the projects I have seen have been old C++ or technical support systems rather then the architecture of new projects or ports which tend to require much more "lead" experience, but I digress. 
&lt;P&gt;Now, my latest project is back in the Java/JSP world, and I am amazed at how well the platform has done (primarily via eclipse) in this time since I started .NET only a few years ago. I am glad that these innovations are leaking over. My .NET projects are also rolling around, and I just completed a JSP/SOAP/.NET project for integrating to a old data system. Which ever tool works better for the job is the tool that I try to use. 
&lt;P&gt;The problem with the entire ".NET vs. Java" battle (of which Carlos Perez seems to be the most voracious defender) is that discussion is that he seems to focus on "us vs. them" or "America vs. India" or "Java vs. .NET." Rather then applaud the fact that some programmers are now getting better support for refactoring he would rather complain about JetBrains "Selling Arms to the Enemy." Rather then complain about it, how about working on making Eclipse a better project (Eclipse has made me re-examine my assertion last year that large projects in Java should be limited to the server only). Java is showing good signs of innovation for the first time in a while, including attributes and better event support (my favorite parts of the CLR). 
&lt;P&gt;Any American steel worker can tell you the futility of hoping for protection against innovation by other companies in other countries. Likewise either the Java community or the .NET community ignoring innovations will result in a worse system for us, the constituents of each community. I for one look forward to some good refactoring support in .NET. I hope Java gets better. Which ever fits the task better will be what I recommend. Period. &lt;/P&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=31322" width="1" height="1"&gt;</content><author><name>jprismon</name><uri>http://weblogs.asp.net/members/jprismon.aspx</uri></author></entry><entry><title /><link rel="alternate" type="text/html" href="http://weblogs.asp.net/jprismon/archive/2003/09/22/28641.aspx" /><id>http://weblogs.asp.net/jprismon/archive/2003/09/22/28641.aspx</id><published>2003-09-22T18:36:00Z</published><updated>2003-09-22T18:36:00Z</updated><content type="html">Just Because:

&lt;CENTER&gt;&lt;FONT color=#ff0000 size=5&gt;&lt;STRONG&gt;ENTJ&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/CENTER&gt;
&lt;CENTER&gt;Qualitative analysis of your type formula&lt;/CENTER&gt;&lt;BR&gt;&amp;nbsp;You are: 
&lt;UL&gt;
&lt;LI&gt;distinctively expressed extrovert 
&lt;LI&gt;slightly expressed intuitive personality 
&lt;LI&gt;moderatly expressed thinking personality 
&lt;LI&gt;moderatly expressed judging personality&lt;/LI&gt;&lt;/UL&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=28641" width="1" height="1"&gt;</content><author><name>jprismon</name><uri>http://weblogs.asp.net/members/jprismon.aspx</uri></author></entry><entry><title>Not going to make it....</title><link rel="alternate" type="text/html" href="http://weblogs.asp.net/jprismon/archive/2003/08/30/25908.aspx" /><id>http://weblogs.asp.net/jprismon/archive/2003/08/30/25908.aspx</id><published>2003-08-30T16:39:00Z</published><updated>2003-08-30T16:39:00Z</updated><content type="html">&lt;p&gt;A last minute trip is going to keep me from going To the colorado tech blog meetup. (Bummer). However, unless you guys decide to cancel it, go ahead and do it. Sorry for the late notice, I didn't know myself until yesterday. Really bummed that I am not going to get a chance to meet you all. (Check this article for comments)!&lt;/p&gt;
&lt;p&gt;-j.p&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=25908" width="1" height="1"&gt;</content><author><name>jprismon</name><uri>http://weblogs.asp.net/members/jprismon.aspx</uri></author></entry><entry><title>Blogshares...</title><link rel="alternate" type="text/html" href="http://weblogs.asp.net/jprismon/archive/2003/08/25/25316.aspx" /><id>http://weblogs.asp.net/jprismon/archive/2003/08/25/25316.aspx</id><published>2003-08-25T21:58:00Z</published><updated>2003-08-25T21:58:00Z</updated><content type="html">Very amusing... Have to play with it.... As a matter of fact:

&lt;a href="http://www.blogshares.com/blogs.php?blog=http%3A%2F%2Fweblogs.asp.net%2Fjprismon%2F&amp;amp;user=10885"&gt;&lt;img src="http://www.blogshares.com/images/blogshares.jpg" alt="Listed on BlogShares" width="117" height="23" /&gt;&lt;/a&gt;

&lt;a href="http://www.blogshares.com/blogs.php?blog=http%3A%2F%2Fdotnetweblogs.com%2FJprismon%2F&amp;amp;user=10885"&gt;&lt;img src="http://www.blogshares.com/images/blogshares.jpg" alt="Listed on BlogShares" width="117" height="23" /&gt;&lt;/a&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=25316" width="1" height="1"&gt;</content><author><name>jprismon</name><uri>http://weblogs.asp.net/members/jprismon.aspx</uri></author></entry><entry><title>Colorado Techie Meetup....</title><link rel="alternate" type="text/html" href="http://weblogs.asp.net/jprismon/archive/2003/08/25/25315.aspx" /><id>http://weblogs.asp.net/jprismon/archive/2003/08/25/25315.aspx</id><published>2003-08-25T21:46:00Z</published><updated>2003-08-25T21:46:00Z</updated><content type="html">&lt;blockquote&gt;
&lt;p&gt;I have to go blogless for a while. No writing, no reading. I will be back for sure, but I don't know when.&lt;/p&gt; &lt;a title="Going Blogless for a While" href="http://dotnetguy.techieswithcats.com/archives/003788.shtml"&gt;[The .NET Guy]&lt;/a&gt;
&lt;/blockquote&gt;

I talked to him earlier and offered to take over planning on the Colorado techie meetup. &lt;b&gt;2:00PM at the RockBottom This Saturday (The 30th) -- This is still open to negotiation if that doesn't work for people, or I get dragged out of town this weekend. &lt;/b&gt;. If you can or cannot make it please comment here. Rock Bottom is right off the 16th Street Mall.&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=25315" width="1" height="1"&gt;</content><author><name>jprismon</name><uri>http://weblogs.asp.net/members/jprismon.aspx</uri></author></entry><entry><title>Parents, don't let your children grow up to be developers....</title><link rel="alternate" type="text/html" href="http://weblogs.asp.net/jprismon/archive/2003/08/25/25278.aspx" /><id>http://weblogs.asp.net/jprismon/archive/2003/08/25/25278.aspx</id><published>2003-08-25T17:26:00Z</published><updated>2003-08-25T17:26:00Z</updated><content type="html">&lt;blockquote&gt;
&lt;p&gt;Tim Bray wonders &lt;a href="http://www.tbray.org/ongoing/When/200x/2003/08/21/HiringTech"&gt;if he should let his kid go into IT&lt;/a&gt;?&lt;/p&gt;
&lt;p&gt;It's all supply and demand. Personally, I'm trying to get my son to learn Chinese. Why? Because China is going to be more and more of a world power and very few Americans learn to speak Chinese and those that do will have a great job being middle-men between Chinese and Americans.&lt;/p&gt;&lt;a title="" href="http://radio.weblogs.com/0001011/2003/08/24.html#a4384"&gt;[The Scobleizer Weblog]&lt;/a&gt; &lt;/blockquote&gt;
&lt;p&gt;This is unfortunitly also a issue that I am dealing with. As a matter of background, I am 26 years old, I have a B.S in Computer Science and a B.A in History which I finished last year. Unfortunitly, the company that I have been working for the last seven years is in bankrupcy right now. So this last week I have started doing the whole job search thing again. I have 3 years experience programming in Java and .NET (since the betas) and 8 years experience doing enterprise level Systems and Network administration. I might just have to throw all that away. &lt;/p&gt;
&lt;p&gt;&lt;b&gt;Why?&lt;/b&gt; &lt;/p&gt;
&lt;p&gt;Because the job market still sucks despite the fact that the recession was shallower then anyone thought it would be and despire the fact that the GDP numbers come back stronger then expected everytime. Why? Part of it is pure economics. We are too productive. Productivity is the mortal enemy of headcount. If you are more productive, you need less FTE's to acomplish the same task. Even though the economy will probably grow somewhere in the mid-3% (which is impressive, esp when you note how bad Europe's economy is right now) we need a significantly higher number to ofset the fact that it takes less and less resources to acomplish old tasks. &lt;/p&gt;
&lt;p&gt;There is also that last bugaboo which Infoweek screams about every week: Outsourcing. Is outsourcing a concern? Yes, and it will be until the next wave (just like it was a concern when the Japanese companies got involved with mainframes, and just like it was a concern when PC manufacturing went overseas.....) What is that next wave? I am still inclined to think something like PDA or wireless, but I honestly don't know. &lt;/p&gt;
&lt;p&gt;Which brings me back to my original point. At this point I am seriously considering going and taking my LSAT's, getting a masters in Law at CU, and practicing IP law (hey, if SCO can get away with their shenanigans, why not me?). Hey, any of you know anyone that needs a good .NET programmer or IT wiz in Colorado or Georgia? &lt;/p&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=25278" width="1" height="1"&gt;</content><author><name>jprismon</name><uri>http://weblogs.asp.net/members/jprismon.aspx</uri></author></entry><entry><title>Page.LoadControl</title><link rel="alternate" type="text/html" href="http://weblogs.asp.net/jprismon/archive/2003/08/15/24187.aspx" /><id>http://weblogs.asp.net/jprismon/archive/2003/08/15/24187.aspx</id><published>2003-08-15T07:36:00Z</published><updated>2003-08-15T07:36:00Z</updated><content type="html">&lt;p&gt;My last big frustration has been attempting to make it so that my CMS can render templates in the VS.net designer that look like the page being generated. I use a homespun derivitive of the MasterPages setup to do my templating. Unfortunitly, under the VS.net designer any attempt to do a Page.LoadControl(VirtPathToUser) results in a  “object reference is null“ exception. (BTW, if you ever want to know how to debug a control in the VS.net designer, open up a second instance of VS.net with the same project, set a break point and then attach to VS.net. Works like a charm).  Using a ControlDesigner, I can make it look pretty, but I can't load the template in anyway because it throws that exception. I may be SOL here. I also tried this with &lt;a href="http://www.metabuilders.com"&gt;MetaBuilders &lt;/a&gt;awesome masterpages, and ran into the same problem. (I can not plug Metabuilders enough). &lt;a href="http://weblogs.asp.net/asmith/"&gt;Andy Smith&lt;/a&gt; has a pretty good blog, but he does not blog often enough ;-). My next step may be to try and manually create the objects this reflection, but I have not figured out how to get the .aspx file rather then the .ASPX.cs class. Anyone run up against this before?&lt;/p&gt;
&lt;p&gt;However, there is also my new favorite ASP.net caching trick. I previously used the ASP.net Cache to store my data objects because my pages are either a) static when viewed by outside users or b) very dynamic when used by editors and authors. This is not a optimal solution because even storing your data objects does not give you the best performance boost. Rendering the page still means a complete trip thru the (sometimes expensive) ASP.net pipeline. ASP.net offers page by page caching which gives a even more substantial performance boost, but page caching tends to limit how dynamic pages can be. I looked for a way to programatically invalidate page cache from inside of ASP.net, but there was still the somewhat painful issue of postbacks and dynamic renders and making sure that you are only caching at appropriate moments. Then, I came across the (apparently little known) &lt;strong&gt;Response.Cache.AddValidationCallback&lt;/strong&gt;. This method allows you to do cache validation on a request by request basis. Using this as well as the CachePolicy option it is possible to tell ASP.net to use a stored cache image of a page, ignore the page request (and render) or invalidate the request. You can even change the HTTP cache headers to cache pages longer on client boxen. &lt;/p&gt;
&lt;p&gt;For example:&lt;/p&gt;
&lt;p dir="ltr" style="MARGIN-RIGHT: 0px"&gt;&lt;font color="#0000ff"&gt; public  void Validate(System.Web.HttpContext Context, object State, ref System.Web.HttpValidationStatus Status)&lt;/font&gt;&lt;font color="#0000ff"&gt;&lt;br /&gt; {&lt;br /&gt;  if (((VeronaPage) this.Page).Editing) &lt;br /&gt;  {&lt;/font&gt;&lt;/p&gt;
&lt;blockquote dir="ltr" style="MARGIN-RIGHT: 0px"&gt;
&lt;p dir="ltr" style="MARGIN-RIGHT: 0px"&gt;&lt;font color="#0000ff"&gt;   Status = HttpValidationStatus.IgnoreThisRequest; &lt;/font&gt;&lt;/p&gt;&lt;/blockquote&gt;
&lt;p dir="ltr" style="MARGIN-RIGHT: 0px"&gt;&lt;font color="#0000ff"&gt; }&lt;br /&gt;  else &lt;/font&gt;&lt;/p&gt;
&lt;p dir="ltr" style="MARGIN-RIGHT: 0px"&gt;&lt;font color="#0000ff"&gt;{&lt;/font&gt;&lt;/p&gt;
&lt;p dir="ltr" style="MARGIN-RIGHT: 0px"&gt;&lt;font color="#0000ff"&gt;   Status=HttpValidationStatus.Valid; &lt;/font&gt;&lt;/p&gt;
&lt;p dir="ltr" style="MARGIN-RIGHT: 0px"&gt;&lt;font color="#0000ff"&gt;}&lt;br /&gt;&lt;/font&gt;  &lt;br /&gt; }&lt;/p&gt;
&lt;p dir="ltr" style="MARGIN-RIGHT: 0px"&gt;You can also set Status to HttpValidationStatus.Invalid if you want to force re-rendering he page. You hook this up by adding the following code to your (local) Page_Load:&lt;/p&gt;
&lt;p dir="ltr" style="MARGIN-RIGHT: 0px"&gt; &lt;font color="#0000ff"&gt;  Response.Cache.AddValidationCallback(new HttpCacheValidateHandler(this.Validate), null); &lt;br /&gt; &lt;/font&gt;  &lt;/p&gt;
&lt;p&gt;finally, this had a interesting note about useing pages other then Page for inheritence of ASP.net Pages:&lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.msdn.microsoft.com/asp.net/default.aspx?pull=/library/en-us/dnaspp/html/aspnet-pageobjectmodel.asp"&gt;http://www.msdn.microsoft.com/asp.net/default.aspx?pull=/library/en-us/dnaspp/html/aspnet-pageobjectmodel.asp&lt;/a&gt;&lt;/p&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=24187" width="1" height="1"&gt;</content><author><name>jprismon</name><uri>http://weblogs.asp.net/members/jprismon.aspx</uri></author><category term="ASP.net" scheme="http://weblogs.asp.net/jprismon/archive/tags/ASP.net/default.aspx" /><category term="StupidStuff.net" scheme="http://weblogs.asp.net/jprismon/archive/tags/StupidStuff.net/default.aspx" /></entry><entry><title>Colorado Blogging....</title><link rel="alternate" type="text/html" href="http://weblogs.asp.net/jprismon/archive/2003/08/11/23580.aspx" /><id>http://weblogs.asp.net/jprismon/archive/2003/08/11/23580.aspx</id><published>2003-08-11T16:44:00Z</published><updated>2003-08-11T16:44:00Z</updated><content type="html">&lt;blockquote&gt;
&lt;p&gt;Peter suggests that &lt;a href="http://www.peterprovost.org/weblog/permalink.aspx?guid=f441f236-3c9a-427f-bd94-5af8f67bcfe8"&gt;Colorado techies&lt;/a&gt; get together at a separate day and time, since he can't make it this weekend to the &lt;a href="http://dotnetguy.techieswithcats.com/archives/003734.shtml"&gt;general blogger event&lt;/a&gt; this coming weekend.&lt;/p&gt;

&lt;p&gt;I'm up for that. Let's pick a place and time. Greg lives on the south side of Denver, and I live in Elbert county (south east of Denver), so somewhere on the south side would be good if the others are around this area as well. Leave &lt;a href="http://dotnetguy.techieswithcats.com/archives/003737.shtml#comments"&gt;comments here&lt;/a&gt; if you are interested!&lt;/p&gt;

&lt;p&gt;&lt;b&gt;Update:&lt;/b&gt; By the way, if you're not a blogger but want to show up, feel free. I don't think we need to limit it to just bloggers.&lt;/p&gt; &lt;a title="Colorado Tech Blogger Meet-Up" href="http://dotnetguy.techieswithcats.com/archives/003737.shtml"&gt;[The .NET Guy]&lt;/a&gt;
&lt;/blockquote&gt;

Sounds cool. Anyone else from Colorado going to be around? (Boulder sadly, so south side is a bit of a trek)
&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=23580" width="1" height="1"&gt;</content><author><name>jprismon</name><uri>http://weblogs.asp.net/members/jprismon.aspx</uri></author></entry><entry><title>ahhh....</title><link rel="alternate" type="text/html" href="http://weblogs.asp.net/jprismon/archive/2003/08/07/23042.aspx" /><id>http://weblogs.asp.net/jprismon/archive/2003/08/07/23042.aspx</id><published>2003-08-07T18:00:00Z</published><updated>2003-08-07T18:00:00Z</updated><content type="html">Finished up my second and third large dot net projects. I have a brief respite to go actually look at new .NET technologies again. Any recommendations for new stuff to look at (new web services, one of the XML/object databases?)
   j.p
&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=23042" width="1" height="1"&gt;</content><author><name>jprismon</name><uri>http://weblogs.asp.net/members/jprismon.aspx</uri></author></entry></feed>