<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Codelab Blog &#187; .NET</title>
	<atom:link href="http://blog.codelab.co.nz/tag/net/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.codelab.co.nz</link>
	<description>Technical Articles and News from Codelab Ltd</description>
	<lastBuildDate>Tue, 17 Jan 2012 13:10:43 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Perform ASP.NET Postback using JQuery</title>
		<link>http://blog.codelab.co.nz/2011/10/27/perform-asp-net-postback-using-jquery/</link>
		<comments>http://blog.codelab.co.nz/2011/10/27/perform-asp-net-postback-using-jquery/#comments</comments>
		<pubDate>Wed, 26 Oct 2011 23:47:24 +0000</pubDate>
		<dc:creator>Tim</dc:creator>
				<category><![CDATA[.NET Framework]]></category>
		<category><![CDATA[ASP.NET]]></category>
		<category><![CDATA[jQuery]]></category>
		<category><![CDATA[.NET]]></category>
		<category><![CDATA[JQuery]]></category>
		<category><![CDATA[ViewState]]></category>

		<guid isPermaLink="false">http://blog.codelab.co.nz/?p=363</guid>
		<description><![CDATA[Came across a situation where I needed to disable the ASP.NET button using JQuery when the user clicks on the button, this is so we stop the user from clicking the button twice while the page is doing a postback. Firstly, add the following JQuery/Javascript code: &#60;script&#62; &#160;function autoSubmit() &#160;{ &#160;&#60;%= ClientScript.GetPostBackEventReference(btnSaveChanges, &#34;&#34;) %&#62;; &#160;} [...]]]></description>
			<content:encoded><![CDATA[<p>Came across a situation where I needed to disable the ASP.NET button using JQuery when the user clicks on the button, this is so we stop the user from clicking the button twice while the page is doing a postback.</p>
<p>Firstly, add the following JQuery/Javascript code:</p>
<div class="codecolorer-container text default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">&lt;script&gt;<br />
<br />
&nbsp;function autoSubmit()<br />
&nbsp;{<br />
&nbsp;&lt;%= ClientScript.GetPostBackEventReference(btnSaveChanges, &quot;&quot;) %&gt;;<br />
&nbsp;}<br />
&nbsp; &nbsp; &nbsp;$(function () {<br />
<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;$(&quot;#&lt;%= btnSaveChanges.ClientID %&gt;&quot;).click(function () {<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;$(this).attr(&quot;disabled&quot;, &quot;true&quot;);<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;autoSubmit();<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;return false;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;});<br />
&nbsp; &nbsp; &nbsp;});<br />
&lt;/script&gt;</div></div>
<p>You can inject the correct generated javascript code from using the function GetPostBackEventReference between the server tags.   Bind a click event to the ASP.NET server control which disables the button and call the autosubmit javascript function to perform a post back on the ASP.NET button control.   </p>
<p>References</p>
<p><a href="http://msdn.microsoft.com/en-us/library/ms153112.aspx" target="_blank">http://msdn.microsoft.com/en-us/library/ms153112.aspx</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.codelab.co.nz/2011/10/27/perform-asp-net-postback-using-jquery/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Some useful Extension Methods</title>
		<link>http://blog.codelab.co.nz/2011/09/06/some-useful-extension-methods/</link>
		<comments>http://blog.codelab.co.nz/2011/09/06/some-useful-extension-methods/#comments</comments>
		<pubDate>Tue, 06 Sep 2011 10:45:59 +0000</pubDate>
		<dc:creator>Tim</dc:creator>
				<category><![CDATA[.NET Framework]]></category>
		<category><![CDATA[C#]]></category>
		<category><![CDATA[.NET]]></category>

		<guid isPermaLink="false">http://blog.codelab.co.nz/?p=358</guid>
		<description><![CDATA[Back to basics&#8230; A couple of useful Extension methods if you are checking if a string is a valid integer or decimal. public static bool IsInteger(this string value) { if (String.IsNullOrEmpty(value)) return false; Int32 tmpNo; return Int32.TryParse(value, out tmpNo); } public static bool IsDecimal(this string value) { if (String.IsNullOrEmpty(value)) return false; Decimal tmpNo; return Decimal.TryParse(value, [...]]]></description>
			<content:encoded><![CDATA[<p>Back to basics&#8230;</p>
<p>A couple of useful Extension methods if you are checking if a string is a valid integer or decimal.</p>
<div class="codecolorer-container text default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">public static bool IsInteger(this string value)<br />
{<br />
if (String.IsNullOrEmpty(value)) return false;<br />
Int32 tmpNo;<br />
return Int32.TryParse(value, out tmpNo);<br />
}<br />
<br />
<br />
public static bool IsDecimal(this string value)<br />
{<br />
if (String.IsNullOrEmpty(value)) return false;<br />
Decimal tmpNo;<br />
return Decimal.TryParse(value, out tmpNo);<br />
}</div></div>
<p>To implement the Extension Methods:</p>
<div class="codecolorer-container text default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">var myString = &quot;10.5&quot;;<br />
<br />
if (myString.IsDecimal())<br />
<br />
{<br />
<br />
//Do something<br />
<br />
}</div></div>
]]></content:encoded>
			<wfw:commentRss>http://blog.codelab.co.nz/2011/09/06/some-useful-extension-methods/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Back to Basics &#8211; Deleting Cookies using ASP.NET</title>
		<link>http://blog.codelab.co.nz/2011/05/11/back-to-basics-deleting-cookies-using-asp-net/</link>
		<comments>http://blog.codelab.co.nz/2011/05/11/back-to-basics-deleting-cookies-using-asp-net/#comments</comments>
		<pubDate>Tue, 10 May 2011 23:21:58 +0000</pubDate>
		<dc:creator>Tim</dc:creator>
				<category><![CDATA[.NET Framework]]></category>
		<category><![CDATA[ASP.NET]]></category>
		<category><![CDATA[.NET]]></category>

		<guid isPermaLink="false">http://blog.codelab.co.nz/?p=331</guid>
		<description><![CDATA[You cannot instruct ASP.NET to physically remove cookies from the user&#8217;s computer so you have to tell the user&#8217;s browser to modify the cookie in order to trigger the browser to remove the cookie. See code example: HttpCookie aCookie; string cookieName; int limit = Request.Cookies.Count; for (int i=0; i { cookieName = Request.Cookies[i].Name; aCookie = [...]]]></description>
			<content:encoded><![CDATA[<p>You cannot instruct ASP.NET to physically remove cookies from the user&#8217;s computer so you have to tell the user&#8217;s browser to modify the cookie in order to trigger the browser to remove the cookie.</p>
<p>See code example:</p>
<div class="codecolorer-container text default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">HttpCookie aCookie;<br />
string cookieName;<br />
int limit = Request.Cookies.Count;<br />
for (int i=0; i {<br />
cookieName = Request.Cookies[i].Name;<br />
aCookie = new HttpCookie(cookieName);<br />
aCookie.Expires = DateTime.Now.AddDays(-1);<br />
Response.Cookies.Add(aCookie);<br />
}</div></div>
<p>&nbsp;</p>
<p><strong><em>References:</em></strong></p>
<p><a title="Cookie Overview" href="http://msdn.microsoft.com/en-us/library/ms178194.aspx#Y5776" target="_blank">http://msdn.microsoft.com/en-us/library/ms178194.aspx#Y5776</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.codelab.co.nz/2011/05/11/back-to-basics-deleting-cookies-using-asp-net/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>You receive a &#8220;The incoming tabular data stream (TDS) remote procedure call (RPC) protocol stream is incorrect&#8221; exception when using NVarchar parameters with Sqlclient</title>
		<link>http://blog.codelab.co.nz/2010/08/26/you-receive-a-the-incoming-tabular-data-stream-tds-remote-procedure-call-rpc-protocol-stream-is-incorrect-exception-when-using-nvarchar-parameters-with-sqlclient/</link>
		<comments>http://blog.codelab.co.nz/2010/08/26/you-receive-a-the-incoming-tabular-data-stream-tds-remote-procedure-call-rpc-protocol-stream-is-incorrect-exception-when-using-nvarchar-parameters-with-sqlclient/#comments</comments>
		<pubDate>Thu, 26 Aug 2010 00:02:33 +0000</pubDate>
		<dc:creator>Tim</dc:creator>
				<category><![CDATA[.NET Framework]]></category>
		<category><![CDATA[SQL Server]]></category>
		<category><![CDATA[.NET]]></category>

		<guid isPermaLink="false">http://blog.codelab.co.nz/?p=292</guid>
		<description><![CDATA[The problem I got the following random error: You receive a &#8220;The incoming tabular data stream (TDS) remote procedure call (RPC) protocol stream is incorrect&#8221; exception when using NVarchar parameters with Sqlclient The Solution Its a known bug with the .Net SqlClient Data Provider.   If you have a field in the database of type nvarchar(max) [...]]]></description>
			<content:encoded><![CDATA[<p>The problem</p>
<p>I got the following random error:<br />
</p>
<blockquote><p>You receive a &#8220;The incoming tabular data stream (TDS)  remote procedure call (RPC) protocol stream is incorrect&#8221; exception when  using NVarchar parameters with Sqlclient</p></blockquote>
<p>
The Solution</p>
<p>Its a known bug with the .Net SqlClient Data Provider.   If you have a field in the database of type nvarchar(max) or greater than 4000 characters and if the user enters data into the field greater than 4000 characters via the .Net SqlClient Data Provider you will receive an exception.</p>
<p>To get around this, reduce the field size to less that 4000 characters or change your type to ntext or set the Sqlparamter.size property to -1 to allow the entire data to be saved.</p>
<p><em><strong>References</strong></em></p>
<p><em><strong><br />
</strong></em><br />
<br />
<a href="http://support.microsoft.com/kb/970519">http://support.microsoft.com/kb/970519</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.codelab.co.nz/2010/08/26/you-receive-a-the-incoming-tabular-data-stream-tds-remote-procedure-call-rpc-protocol-stream-is-incorrect-exception-when-using-nvarchar-parameters-with-sqlclient/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Open XML &#8211; OLE Automation Date Issues</title>
		<link>http://blog.codelab.co.nz/2010/07/26/open-xml-ole-automation-date-issues/</link>
		<comments>http://blog.codelab.co.nz/2010/07/26/open-xml-ole-automation-date-issues/#comments</comments>
		<pubDate>Sun, 25 Jul 2010 12:16:20 +0000</pubDate>
		<dc:creator>Tim</dc:creator>
				<category><![CDATA[.NET Framework]]></category>
		<category><![CDATA[C#]]></category>
		<category><![CDATA[.NET]]></category>
		<category><![CDATA[Excel]]></category>

		<guid isPermaLink="false">http://blog.codelab.co.nz/?p=290</guid>
		<description><![CDATA[If you are exporting a date from C# to Excel using 2007, you probably will use the following: Math.Round(DateTime.Now.ToOADate(), 12).ToString() This exports the date as a OLE Automation date recognized by Excel 2007. How ever, in Excel 2010 this was causing issues, every time I exported to Excel 2010, it said that it has to [...]]]></description>
			<content:encoded><![CDATA[<p>If you are exporting a date from C# to Excel using 2007, you probably will use the following:</p>
<div class="codecolorer-container text default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">Math.Round(DateTime.Now.ToOADate(), 12).ToString()</div></div>
<p>This exports the date as a OLE Automation date recognized by Excel 2007.   How ever, in Excel 2010 this was causing issues, every time I exported to Excel 2010, it said that it has to repair my document and it never displayed the values correctly as dates.</p>
<p>Because I was using Open XML to generate the markup, Excel 2010 has been support for Open XML.   I got around the problem of using:</p>
<div class="codecolorer-container text default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">DateTime.Now.ToString(&quot;yyyy-MM-dd'T'HH:mm:ss.fffffffzzz&quot;);</div></div>
<p>This exports the date as a XML Date format.<br />
Hope this helps anyone who has the same problem!</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.codelab.co.nz/2010/07/26/open-xml-ole-automation-date-issues/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Fixing the EF Tracing and Caching Provider Wrapper Issue</title>
		<link>http://blog.codelab.co.nz/2010/07/09/fixing-ef-tracing-caching-wrapper-issue/</link>
		<comments>http://blog.codelab.co.nz/2010/07/09/fixing-ef-tracing-caching-wrapper-issue/#comments</comments>
		<pubDate>Fri, 09 Jul 2010 04:20:59 +0000</pubDate>
		<dc:creator>Tim</dc:creator>
				<category><![CDATA[.NET Framework]]></category>
		<category><![CDATA[C#]]></category>
		<category><![CDATA[.NET]]></category>

		<guid isPermaLink="false">http://blog.codelab.co.nz/?p=268</guid>
		<description><![CDATA[If you have been using the Tracing and Caching Provider Wrappers for the ADO.NET Entity Framework 4.0, you might of come across this error message when creating POCO objects, adding them to a Data Context and commiting them to the database using the Caching Wrapper: [NotImplementedException: The method or operation is not implemented.] EFCachingProvider.EFCachingDataReaderCacheWriter.GetName(Int32 ordinal) [...]]]></description>
			<content:encoded><![CDATA[<p>If you have been using the <a href="http://code.msdn.microsoft.com/EFProviderWrappers">Tracing and Caching Provider Wrappers for the ADO.NET Entity Framework 4.0</a>, you might of come across this error message when creating POCO objects, adding them to a Data Context and commiting them to the database using the Caching Wrapper:<span style="font-family: Arial,Helvetica,Geneva,SunSans-Regular,sans-serif;"><br />
</span></p>
<pre>[NotImplementedException: The method or operation is not implemented.]
   EFCachingProvider.EFCachingDataReaderCacheWriter.GetName(Int32 ordinal) in EFCachingProvider\EFCachingDataReaderCacheWriter.cs:109
   System.Data.Mapping.Update.Internal.DynamicUpdateCommand.Execute(UpdateTranslator translator, EntityConnection connection, Dictionary`2 identifierValues, List`1 generatedValues) +8118458
   System.Data.Mapping.Update.Internal.UpdateTranslator.Update(IEntityStateManager stateManager, IEntityAdapter adapter) +267
</pre>
<p><span style="font-family: Arial,Helvetica,Geneva,SunSans-Regular,sans-serif;"> </span></p>
<pre>Line 107:        public override string GetName(int ordinal)
Line 108:        {
<span style="color: red;">Line 109:            throw new NotImplementedException();
</span>Line 110:        }
Line 111:
</pre>
<p>Basically, the author&#8217;s of the code have created a wrapper for the DBDataReader class and have not implement the override methods.   This can be fixed by calling the Wrapper DataReader object methods.  This is what I have modified in the EFCachignDataReaderCacheWriter.cs file:</p>
<div class="codecolorer-container text default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;height:300px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">using System;<br />
using System.Data;<br />
using System.Data.Common;<br />
using EFCachingProvider.Caching;<br />
<br />
namespace EFCachingProvider<br />
{<br />
///<br />
/// Implementation of the &nbsp;which reads the results of another data reader<br />
/// and stores a copy in the cache.<br />
///<br />
internal class EFCachingDataReaderCacheWriter : EFCachingDataReaderBase<br />
{<br />
private DbQueryResults queryResults = new DbQueryResults();<br />
private DbDataReader wrappedReader;<br />
private int maxRows;<br />
private Action addToCache;<br />
<br />
///<br />
/// Initializes a new instance of the EFCachingDataReaderCacheWriter class.<br />
///<br />
///<br />
&lt;span&gt; &lt;/span&gt;The wrapped reader. &nbsp; &nbsp; &nbsp; &nbsp; ///<br />
&lt;span&gt; &lt;/span&gt;The maximum number of rows which can be cached. &nbsp; &nbsp; &nbsp; &nbsp; ///<br />
The delegate used to add the result to the cache when the reader finishes. &nbsp; &nbsp; &nbsp; &nbsp; public EFCachingDataReaderCacheWriter(DbDataReader wrappedReader, int maxRows, Action addToCache)<br />
{<br />
this.wrappedReader = wrappedReader;<br />
this.addToCache = addToCache;<br />
this.maxRows = maxRows;<br />
}<br />
<br />
///<br />
/// Gets a value that indicates whether this &nbsp;contains one or more rows.<br />
///<br />
///<br />
/// true if the &nbsp;contains one or more rows; otherwise false.<br />
///<br />
public override bool HasRows<br />
{<br />
get { return this.wrappedReader.HasRows; }<br />
}<br />
<br />
///<br />
/// Gets the number of rows changed, inserted, or deleted by execution of the SQL statement.<br />
///<br />
///<br />
///<br />
/// The number of rows changed, inserted, or deleted. -1 for SELECT statements; 0 if no rows were affected or the statement failed.<br />
///<br />
public override int RecordsAffected<br />
{<br />
//get { throw new NotImplementedException(); }<br />
get { return this.wrappedReader.RecordsAffected; }<br />
}<br />
<br />
///<br />
/// Gets a value indicating whether the &nbsp;is closed.<br />
///<br />
///<br />
/// true if the &nbsp;is closed; otherwise false.<br />
///<br />
public override bool IsClosed<br />
{<br />
//get { throw new NotImplementedException(); }<br />
get { return this.wrappedReader.IsClosed; }<br />
}<br />
<br />
///<br />
/// Gets a value indicating the depth of nesting for the current row.<br />
///<br />
///<br />
///<br />
/// The depth of nesting for the current row.<br />
///<br />
public override int Depth<br />
{<br />
//get { throw new NotImplementedException(); }<br />
get { return this.wrappedReader.Depth; }<br />
}<br />
<br />
///<br />
/// Gets name of the data type of the specified column.<br />
///<br />
///<br />
The zero-based column ordinal. &nbsp; &nbsp; &nbsp; &nbsp; ///<br />
/// A string representing the name of the data type.<br />
///<br />
public override string GetDataTypeName(int ordinal)<br />
{<br />
//throw new NotImplementedException();<br />
return this.wrappedReader.GetDataTypeName(ordinal);<br />
}<br />
<br />
///<br />
/// Gets the data type of the specified column.<br />
///<br />
///<br />
The zero-based column ordinal. &nbsp; &nbsp; &nbsp; &nbsp; /// The data type of the specified column.<br />
public override Type GetFieldType(int ordinal)<br />
{<br />
return this.wrappedReader.GetFieldType(ordinal);<br />
}<br />
<br />
///<br />
/// Gets the name of the column, given the zero-based column ordinal.<br />
///<br />
///<br />
The zero-based column ordinal. &nbsp; &nbsp; &nbsp; &nbsp; /// The name of the specified column.<br />
public override string GetName(int ordinal)<br />
{<br />
return this.wrappedReader.GetName(ordinal);<br />
}<br />
<br />
///<br />
/// Gets the column ordinal given the name of the column.<br />
///<br />
///<br />
The name of the column. &nbsp; &nbsp; &nbsp; &nbsp; /// The zero-based column ordinal.<br />
///<br />
/// The name specified is not a valid column name.<br />
///<br />
public override int GetOrdinal(string name)<br />
{<br />
return this.wrappedReader.GetOrdinal(name);<br />
}<br />
<br />
///<br />
/// Returns a &nbsp;that describes the column metadata of the .<br />
///<br />
///<br />
/// A &nbsp;that describes the column metadata.<br />
///<br />
public override DataTable GetSchemaTable()<br />
{<br />
return this.wrappedReader.GetSchemaTable();<br />
}<br />
<br />
///<br />
/// Advances the reader to the next result when reading the results of a batch of statements.<br />
///<br />
///<br />
/// true if there are more result sets; otherwise false.<br />
///<br />
public override bool NextResult()<br />
{<br />
if (this.wrappedReader.NextResult())<br />
{<br />
this.queryResults = null;<br />
return true;<br />
}<br />
else<br />
{<br />
return false;<br />
}<br />
}<br />
<br />
///<br />
/// Closes the &nbsp;object.<br />
///<br />
public override void Close()<br />
{<br />
this.wrappedReader.Close();<br />
<br />
if (this.queryResults != null)<br />
{<br />
this.addToCache(this.queryResults);<br />
}<br />
}<br />
<br />
///<br />
/// Advances the reader to the next record in a result set.<br />
///<br />
///<br />
/// true if there are more rows; otherwise false.<br />
///<br />
public override bool Read()<br />
{<br />
if (this.wrappedReader.Read())<br />
{<br />
object[] values = new object[this.wrappedReader.FieldCount];<br />
<br />
this.wrappedReader.GetValues(values);<br />
SetValues(values);<br />
if (this.queryResults != null)<br />
{<br />
this.queryResults.Rows.Add(values);<br />
if (this.queryResults.Rows.Count &amp;gt; this.maxRows)<br />
{<br />
this.queryResults = null;<br />
}<br />
}<br />
<br />
return true;<br />
}<br />
else<br />
{<br />
return false;<br />
}<br />
}<br />
}<br />
}</div></div>
]]></content:encoded>
			<wfw:commentRss>http://blog.codelab.co.nz/2010/07/09/fixing-ef-tracing-caching-wrapper-issue/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Exam 70-536 Part 1 &#8211; The journey begins&#8230;</title>
		<link>http://blog.codelab.co.nz/2010/02/21/exam-70-536-part-1-the-journey-begins/</link>
		<comments>http://blog.codelab.co.nz/2010/02/21/exam-70-536-part-1-the-journey-begins/#comments</comments>
		<pubDate>Sun, 21 Feb 2010 09:48:20 +0000</pubDate>
		<dc:creator>Tim</dc:creator>
				<category><![CDATA[News]]></category>
		<category><![CDATA[.NET]]></category>

		<guid isPermaLink="false">http://blog.codelab.co.nz/?p=193</guid>
		<description><![CDATA[I&#8217;m beginning my journey into the world of Microsoft Certification.   Why? The biggest reason is that the company I&#8217;m working for encourages professional development so I have taken up the challenge and the opportunity to sit a few Microsoft Exams.   But my biggest reason why is getting one step closer to obtaining a Doctorate in [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;m beginning my journey into the world of Microsoft Certification.   Why? The biggest reason is that the company I&#8217;m working for encourages professional development so I have taken up the challenge and the opportunity to sit a few Microsoft Exams.   But my biggest reason why is getting one step closer to obtaining a Doctorate in IT.   Well, lets take a step back&#8230;its a step closer to obtain a Masters degree from <a href="http://www.itmasters.edu.au">Charles Sturt University</a> (Master&#8217;s in System Development .NET stream).  Yes, you can credit your .NET 3.5 exams towards a masters degree.</p>
<p>So, I will be studying my way through the Application Framework Foundation Microsoft Training Kit, but I came across this interesting Wiki which is kept up to date: <a href="http://en.wikibooks.org/wiki/.NET_Development_Foundation">http://en.wikibooks.org/wiki/.NET_Development_Foundation.</a></p>
<p>Wish me luck..until part 2.</p>
<p><em><strong>References:</strong></em></p>
<p><a href="http://en.wikibooks.org/wiki/.NET_Development_Foundation">http://en.wikibooks.org/wiki/.NET_Development_Foundation</a></p>
<p><a href="http://www.itmasters.edu.au">IT Masters Degree Programme</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.codelab.co.nz/2010/02/21/exam-70-536-part-1-the-journey-begins/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Could not write lines to file xxx.FileListAttribute.txt Access Denied</title>
		<link>http://blog.codelab.co.nz/2010/01/25/could-not-write-lines-to-file-xxx-filelistattribute-txt-access-denied/</link>
		<comments>http://blog.codelab.co.nz/2010/01/25/could-not-write-lines-to-file-xxx-filelistattribute-txt-access-denied/#comments</comments>
		<pubDate>Mon, 25 Jan 2010 08:30:45 +0000</pubDate>
		<dc:creator>Tim</dc:creator>
				<category><![CDATA[.NET Framework]]></category>
		<category><![CDATA[.NET]]></category>
		<category><![CDATA[Visual Studio]]></category>

		<guid isPermaLink="false">http://blog.codelab.co.nz/?p=175</guid>
		<description><![CDATA[Using Visual Studio Team System Edition, you may come across this error when trying to build a solution &#8220;Could not write lines to file xxx.FileListAttribute.txt.  Access is denied.&#8221; Simple solution..delete the files from the obj directory, reload your solution and attempt to build. Rember: Dont add obj/bin folders to your source safe, and these change [...]]]></description>
			<content:encoded><![CDATA[<p>Using Visual Studio Team System Edition, you may come across this error when trying to build a solution</p>
<p>&#8220;Could not write lines to file xxx.FileListAttribute.txt.  Access is denied.&#8221;</p>
<p>Simple solution..delete the files from the obj directory, reload your solution and attempt to build.</p>
<p>Rember: Dont add obj/bin folders to your source safe, and these change so frequently!</p>
<p><strong><em>References:</em></strong></p>
<p><a href="http://social.msdn.microsoft.com/forums/en-US/tfsbuild/thread/baa51174-0e51-445c-bef6-c2055788962d/">http://social.msdn.microsoft.com/forums/en-US/tfsbuild/thread/baa51174-0e51-445c-bef6-c2055788962d/</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.codelab.co.nz/2010/01/25/could-not-write-lines-to-file-xxx-filelistattribute-txt-access-denied/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Match Whole Words Regular Expressions</title>
		<link>http://blog.codelab.co.nz/2010/01/12/match-whole-words-regular-expressions/</link>
		<comments>http://blog.codelab.co.nz/2010/01/12/match-whole-words-regular-expressions/#comments</comments>
		<pubDate>Tue, 12 Jan 2010 00:00:10 +0000</pubDate>
		<dc:creator>Tim</dc:creator>
				<category><![CDATA[.NET Framework]]></category>
		<category><![CDATA[Visual Basic]]></category>
		<category><![CDATA[.NET]]></category>

		<guid isPermaLink="false">http://blog.codelab.co.nz/?p=168</guid>
		<description><![CDATA[Example: Dim regExp As New Regex(String.Format(&#8220;\b{0}\b&#8221;, keyword), RegexOptions.IgnoreCase) This is the same as doing the following: note.note_content.StartsWith(InputKeyword &#38;amp; &#34; &#34;) OR _ note.note_content.EndsWith(&#34; &#34; &#38;amp; InputKeyword) OR _ note.note_content.Contains(&#34; &#34; &#38;amp; InputKeyword &#38;amp; &#34; &#34;) References: http://answers.oreilly.com/topic/217-how-to-match-whole-words-with-a-regular-expression/ http://stackoverflow.com/questions/810078/search-for-whole-word-with-linq-to-sql]]></description>
			<content:encoded><![CDATA[<p>Example:</p>
<p>Dim regExp As New Regex(String.Format(&#8220;\b{0}\b&#8221;, keyword), RegexOptions.IgnoreCase)</p>
<p>This is the same as doing the following:</p>
<pre>
<div class="codecolorer-container text default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">note.note_content.StartsWith(InputKeyword &amp;amp; &quot; &quot;) OR _<br />
note.note_content.EndsWith(&quot; &quot; &amp;amp; InputKeyword) OR _<br />
note.note_content.Contains(&quot; &quot; &amp;amp; InputKeyword &amp;amp; &quot; &quot;)</div></div>
</pre>
<p><em><strong>References:</strong></em></p>
<p><a href="http://answers.oreilly.com/topic/217-how-to-match-whole-words-with-a-regular-expression/">http://answers.oreilly.com/topic/217-how-to-match-whole-words-with-a-regular-expression/</a></p>
<p><a href="http://stackoverflow.com/questions/810078/search-for-whole-word-with-linq-to-sql">http://stackoverflow.com/questions/810078/search-for-whole-word-with-linq-to-sql</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.codelab.co.nz/2010/01/12/match-whole-words-regular-expressions/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>.NET Comment Tags</title>
		<link>http://blog.codelab.co.nz/2009/05/07/net-comment-tags/</link>
		<comments>http://blog.codelab.co.nz/2009/05/07/net-comment-tags/#comments</comments>
		<pubDate>Thu, 07 May 2009 07:59:57 +0000</pubDate>
		<dc:creator>Tim</dc:creator>
				<category><![CDATA[.NET Framework]]></category>
		<category><![CDATA[.NET]]></category>

		<guid isPermaLink="false">http://blog.codelab.co.nz/?p=120</guid>
		<description><![CDATA[Here are some useful tags that can be used when using .NET XML documentation: &#60;seealso&#62;, &#60;summary&#62;, &#60;returns&#62; References: http://msdn.microsoft.com/en-us/library/5ast78ax.aspx]]></description>
			<content:encoded><![CDATA[<p>Here are some useful tags that can be used when using .NET XML documentation:</p>
<p>&lt;seealso&gt;, &lt;summary&gt;, &lt;returns&gt;</p>
<p>References:</p>
<p><a href="http://msdn.microsoft.com/en-us/library/5ast78ax.aspx">http://msdn.microsoft.com/en-us/library/5ast78ax.aspx</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.codelab.co.nz/2009/05/07/net-comment-tags/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

