<?xml version="1.0" encoding="UTF-8"?><!-- generator="WordPress/2.5.1" -->
<rss version="0.92">
<channel>
	<title>Blog For .NET</title>
	<link>http://www.blogfor.net</link>
	<description>welcome to the blogosphere</description>
	<lastBuildDate>Tue, 04 Nov 2008 04:08:59 +0000</lastBuildDate>
	<docs>http://backend.userland.com/rss092</docs>
	<language>en</language>
	
	<item>
		<title>Creating Class Libraries of Asp.Net Web Components</title>
		<description>Suppose you have multiple client projects and want to build a reusable framework for them. This framework could include components to build sites (server controls, data control fields, custom datagrid, custom pager etc.). It could also include components such as pages, user controls, and web services.

Scott Gu espouses a strategy for creating user ...</description>
		<link>http://www.blogfor.net/2008/11/03/creating-class-libraries-of-aspnet-web-components/</link>
			</item>
	<item>
		<title>Migrating Asp.Net SiteMaps to MS SQL (or fun with MS SQL XML functions)</title>
		<description>As part of a larger project, my recent work has involved migrating Asp.Net sitemaps from Xml to MS SQL in order to use a modified version of the SqlSiteMapProvider.  
Using the xml processing functions new in MS SQL 2005, sitemap files can be imported ease.

A "regular" sitemap file is going ...</description>
		<link>http://www.blogfor.net/2008/10/20/migrating-aspnet-sitemaps-to-ms-sql-or-fun-with-ms-sql-xml-functions/</link>
			</item>
	<item>
		<title>Understanding the Javascript language from a .Net based background</title>
		<description>Ever wonder why the Microsoft samples for Ajax always call Function.createDelegate? Why IE6 has such bad memory leak problems? Ever wonder what "this" in javascript refers to?

Javacript is dynamic and interpreted.  Superficially this means that:

	all objects have a dictionary of properties. One can then modify this dictionary in a very tangible ...</description>
		<link>http://www.blogfor.net/2008/09/22/understanding-the-javascript-language-from-a-net-based-background/</link>
			</item>
	<item>
		<title>Testing HTTP Handlers And Modules Without A Web Server</title>
		<description>Recently I came across this posting at Cozi Tech Blog:

A Way To Unit Test ASP.NET IHttpHandler Implementations



If you find yourself writing simple HTTP handler code that produces and consumes structured data (for instance, some RESTful application), you may wonder how to test it without fiddling with IIS or configuration files. Here's ...</description>
		<link>http://www.blogfor.net/2008/09/22/testing-http-handlers-and-modules-without-a-web-server/</link>
			</item>
	<item>
		<title>Properly using the &#8220;references&#8221; parameter to the MS Ajax $create statement</title>
		<description>Suppose you want to reference a component from another component. The MS Ajax documentation gives the following explanation of the $create function:

Syntax

$create(type, properties, events, references, element);

Arguments



Parameter
Description


type
The type of the component to create.


properties
(Optional) A JSON object that describes the properties and their values.


events
(Optional) A JSON object that describes the events and their handlers.


references
(Optional) ...</description>
		<link>http://www.blogfor.net/2008/08/10/properly-using-the-references-parameter-to-the-ms-ajax-create-statement/</link>
			</item>
	<item>
		<title>Binding MS Ajax Extenders to nested Controls</title>
		<description>The MS Ajax Extender model encourages us to bind html elements to extender properties via clientId. To help make this more declarative, the ajax control toolkit provides property attributes to do this mapping between server side control property and client side javascript accessor methods:
[IDReferenceProperty(typeof(WebControl))] 
[DefaultValue("")]
[ExtenderControlProperty]
[ClientPropertyName("popupElement")]
[ElementReference]
[ExtenderControlProperty]

public string PopupControlID { � }
In this case, the ...</description>
		<link>http://www.blogfor.net/2008/08/10/binding-ms-ajax-extenders-to-nested-controls/</link>
			</item>
	<item>
		<title>Perils of Sys.UI.Component and Update Panels</title>
		<description>When writing custom MS Ajax controls, deciding what framework class to inherit from on the client can be tricky. The MS Ajax documentation gives the following explanation of the Sys.UI.Component and it's associated child classes here:



Client component object types
Summary


Components


	Derive from the Component base class.
	Typically have no UI representation, such as a timer component that ...</description>
		<link>http://www.blogfor.net/2008/08/10/perils-of-sysuicomponent-and-update-panels/</link>
			</item>
	<item>
		<title>Converting VB to C# while preserving project references and existing solutions</title>
		<description>We've recently begun converting a tremendous amount of code from VB to C#.  Others have much better postings about the pros and cons of chosing VB or C#.  The web is littered with religious rants from haughty C# developers (although they are in the minority of .net developers) about which managed language ...</description>
		<link>http://www.blogfor.net/2008/08/10/converting-vb-to-c-while-preserving-project-references-and-existing-solutions/</link>
			</item>
	<item>
		<title>Interface Segregation Principle, Asp.Net, Generics, Interfaces and Covariance, Oh my!</title>
		<description>The interface segregation principle is something most asp.net developers tend to ignore. If I only have one consumer of my business layer (the web/UI layer) why bind against an interface instead of the actual business objects?

Recently at my job we found ourselves answering that question. We have a single code ...</description>
		<link>http://www.blogfor.net/2008/08/10/interface-segregation-principle-aspnet-generics-interfaces-and-covariance-oh-my/</link>
			</item>
	<item>
		<title>Hallmarks of great developers</title>
		<description>At my current employer we've spent a long time trying to refine our hiring process. While the process is by no means ideal, after conducting dozens of interviews a few key indictators of great developers have emerged. While not requirements, the developers we've hired who are successful and continue to ...</description>
		<link>http://www.blogfor.net/2008/08/10/hallmarks-of-great-developers/</link>
			</item>
	<item>
		<title>Optimize UpdatePanel performance by avoiding unnecessary element disposal</title>
		<description>I fought using update panels for a long time. Every time someone demonstrates the MS AJAX framework they skip the amazing features and go right to update panels. They'd say "Look how easy they are to use!", "They integrate right into the code you have now.", and my personal favorite, ...</description>
		<link>http://www.blogfor.net/2008/05/27/optimize-updatepanel-performance-by-avoiding-unnecessary-element-disposal/</link>
			</item>
	<item>
		<title>Time based Caching in a Load Balanced ASP.Net Application</title>
		<description>When using the asp.net application cache a common problem occurs when the application scales from a single web server to a web farm. This problem and more are more broadly discussed here.

One common approach to keep cache items in sync across web servers is use of file dependencies on a ...</description>
		<link>http://www.blogfor.net/2008/05/27/time-based-caching-in-a-load-balanced-aspnet-application/</link>
			</item>
	<item>
		<title>Class Table Inheritance: An Investigation into SQL Performance</title>
		<description>Class Table Inheritance is a powerful tool when persisting a strong object oriented business model, but what happens when the data size grows?  If we know the type of object we're selecting, the query is straightforward and performs well:
select
	 base_class.id
	,base_class.sub_type
	,inheriting_class.column1
..
	,inheriting_class.columnn
from
	base_class inner join inheriting_class on base_class.id = inheriting_class.base_class_id
Using multiple tables, ...</description>
		<link>http://www.blogfor.net/2008/05/27/class-table-inheritance-an-investigation-into-sql-performance/</link>
			</item>
	<item>
		<title>Howto: avoid binding the same eventhandler multiple times to an element event in the MS AJAX framework</title>
		<description>The Microsoft AJAX $addHandler method is a wrapper to the browser specific implementations of the w3c standard e.g. $addHandler(element, eventName, handler).

Once you've bound an event handler to an element, there is no standard way to retrieve the binding information.  Javascript frameworks work around this limitation by setting custom properties ...</description>
		<link>http://www.blogfor.net/2008/05/27/howto-avoid-binding-the-same-eventhandler-multiple-times-to-an-element-event-in-the-ms-ajax-framework/</link>
			</item>
	<item>
		<title>Applying for technical jobs? A rough guide</title>
		<description>For the last three years I've been involved in our company's development team hiring process.  We've defined it, refined it, reworked it, and reworked it again.  We've made mistakes and made great hires.  I thought I'd share a few thoughts on the subject which you may find useful. 

For every job posting online, we get ...</description>
		<link>http://www.blogfor.net/2008/04/21/applying-for-technical-jobs-a-rough-guide/</link>
			</item>
	<item>
		<title>YSlow and ASP.NET - Expires Header - BuildProvider (Part 3 of 3)</title>
		<description>For the last part of our quest to enable caching of static content by separating it out into directories by version, we want to provide an easy and intuitive way for developers to reference static content from the code behind. e.g.

Dim linkIcon As New System.Web.UI.WebControls.Image 
linkIcon.ImageUrl = StaticContent.Images.rss_gif
Under the covers ...</description>
		<link>http://www.blogfor.net/2008/04/21/yslow-and-aspnet-expires-header-buildprovider-part-3-of-3/</link>
			</item>
	<item>
		<title>YSlow and ASP.NET - Expires Header - Expression Builders (Part 2 of 3)</title>
		<description>Continuing our task of caching indefinitely static content by versioning it, we want to build the framework so that instead of code like this:

&#60;asp:image imageurl="~/images/rose.jpg" runat="server" id="image1"&#62;
we have this:

&#60;asp:Image id="image1" imageurl="&#60;%$ Image: rose.jpg %&#62;" runat="server"/&#62;
The key difference is that we can dynamically assign where the image path for rose.jpg resolves ...</description>
		<link>http://www.blogfor.net/2008/04/21/yslow-and-aspnet-expires-header-expression-builders-part-2-of-3/</link>
			</item>
	<item>
		<title>YSlow and ASP.NET - Concatenating and Minifying Css and Js Resources</title>
		<description>In our code we reference several js libraries (prototype, scriptaculous, custom libraries etc.) and we break our css out into several files (layout, fonts, etc.). We encouraged our developers to use whitespace, comments, descriptive names, and separate files to make code as clear as possible. Clear code, however, results in longer ...</description>
		<link>http://www.blogfor.net/2008/04/20/yslow-and-aspnet-concatenating-and-minifying-css-and-js-resources/</link>
			</item>
	<item>
		<title>YSlow and ASP.NET - Expires Header (Part 1 of 3)</title>
		<description>At our company there's a focus on getting our asp.net web application to perform in IE6/7 and FF.  Our site uses javascript and css heavily which results in less than optimal performance.  In an effort to improve performance we took proactive steps by:

	the size of viewstate and http response on all asp.net requests
	logging the ...</description>
		<link>http://www.blogfor.net/2008/04/20/yslow-and-aspnet-expires-header-part-1-of-3/</link>
			</item>
	<item>
		<title>What I wish I knew about Service Broker before I started using it</title>
		<description>My current work involves asyncronous communication between multiple servers. Servers in the web farm submit jobs for processing by various backend server farms. Over time our implementation evolved from a simple stored procedure call that polled a table to a much more scalable and fault tolerant MSMQ implementation.

We moved to MSMQ because polling SQL Server ...</description>
		<link>http://www.blogfor.net/2008/04/20/what-i-wish-i-knew-about-service-broker-before-i-started-using-it/</link>
			</item>
	<item>
		<title>T-SQL Split - An xml based approach</title>
		<description>When we select information from our database we have to be careful to filter only results that the user has access to, e.g. an user has access to user information in a fixed list of departments:

Select * from Employee where department_id in (1,3,6)
The problem is comes when we try to ...</description>
		<link>http://www.blogfor.net/2008/04/20/t-sql-split-an-xml-based-approach/</link>
			</item>
	<item>
		<title>Concatenating values in t-sql select statements</title>
		<description>In a previous life, I worked on purchasing software.  One of the performance problems that continually plagued us stemmed from a fundamental decision we made about how we tracked the line items of an order:



orderLineId


orderId


qty


product




1


123


1


Product A




2


123


1


Product A




3


123


1


Product B




4


123


1


Product C



Each line has quantity one because throughout the application users would changed where a ...</description>
		<link>http://www.blogfor.net/2008/04/19/concatenating-values-in-t-sql-select-statements/</link>
			</item>
	<item>
		<title>Detecting and avoiding &#8220;A potentially dangerous Request.Form value was detected from the client&#8221; in asp.net</title>
		<description>By default asp.net uses the setting validateRequests="true". This can lead to a paradox described here http://www.asp.net/learn/whitepapers/request-validation/. You can turn off request validation for your page or site, but that removes the basic protection asp.net provides against xss attacks. When you leave request validation on and a user enters text like ...</description>
		<link>http://www.blogfor.net/2008/04/19/detecting-and-avoiding-a-potentially-dangerous-requestform-value-was-detected-from-the-client-in-aspnet/</link>
			</item>
	<item>
		<title>Detecting authentication cookie expiration on asyncronous requests</title>
		<description>As functionality moves from postbacks and server side processing to the client via update panels and ajax behaviors, a common situation can occur when the user's authentication cookie has expired and the user executes an asynchronous request. 

Normally with a synchronous request, the web server will return a response with HTTP ...</description>
		<link>http://www.blogfor.net/2008/04/19/detecting-authentication-cookie-expiration-on-asyncronous-requests/</link>
			</item>
	<item>
		<title>ScrollTo using the ajax control toolkit animation framework</title>
		<description>I've been digging deep into the asp.net ajax javascript framework and wanted to share one of the cool controls i was able to make using the asp.net ajax library and the AjaxControlToolkit animation framework.  The guys over at codeplex have put together a pretty nice animation framework.  It's ...</description>
		<link>http://www.blogfor.net/2008/04/06/scrollto-using-the-ajax-control-toolkit-animation-framework/</link>
			</item>
	<item>
		<title>Grand Opening, Google Syntax Highlighter Fix</title>
		<description> The blog is up and running and with the first post comes some interesting info on setting up syntax highlighting. So, I finally got the google syntax highlighter working with my wordpress install HOORAY.

Google Syntax Highlighter for WordPress
http://wordpress.org/extend/plugins/google-syntax-highlighter/

doing some pretty simple testing i tracked down the footer wasn't adding ...</description>
		<link>http://www.blogfor.net/2007/12/12/grand-opening/</link>
			</item>
</channel>
</rss>
