<?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>PeterKellner.net</title>
	<atom:link href="http://peterkellner.net/feed/" rel="self" type="application/rss+xml" />
	<link>http://peterkellner.net</link>
	<description>Microsoft Focused, JavaScript,HTML5 (ExtJS, SenchaTouch &#38; Windows 8 Store)</description>
	<lastBuildDate>Sat, 18 May 2013 02:38:18 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=</generator>
		<item>
		<title>Using Visual Studio 2012 Web Publish For Staging On The Internet</title>
		<link>http://peterkellner.net/2013/05/17/using-visual-studio-2012-web-publish-for-staging-on-the-internet/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=using-visual-studio-2012-web-publish-for-staging-on-the-internet</link>
		<comments>http://peterkellner.net/2013/05/17/using-visual-studio-2012-web-publish-for-staging-on-the-internet/#comments</comments>
		<pubDate>Sat, 18 May 2013 02:36:08 +0000</pubDate>
		<dc:creator>Peter Kellner</dc:creator>
				<category><![CDATA[ASP.net]]></category>
		<category><![CDATA[ASP.NET 4.5]]></category>
		<category><![CDATA[Transforms]]></category>
		<category><![CDATA[Visual Studio 2012]]></category>
		<category><![CDATA[Web.Config]]></category>

		<guid isPermaLink="false">http://peterkellner.net/?p=3604</guid>
		<description><![CDATA[&#160;
Let’s say you have a production code like http://siliconvalley-codecamp.com and you want to have a test site on the internet that will not be seen by anyone unless they login (or maybe even login as an admin).&#160; Using web.config (with Visual Studio 2012), transformations makes that very straight forward.&#160; I know because I just did [...]]]></description>
				<content:encoded><![CDATA[<p>&#160;</p>
<p>Let’s say you have a production code like <a href="http://siliconvalley-codecamp.com">http://siliconvalley-codecamp.com</a> and you want to have a test site on the internet that will not be seen by anyone unless they login (or maybe even login as an admin).&#160; Using <a href="http://en.wikipedia.org/wiki/Web.config">web.config</a> (with <a href="http://www.microsoft.com/visualstudio/eng/visual-studio-update">Visual Studio 2012</a>), transformations makes that very straight forward.&#160; I know because I just did that.&#160; I created a test site (say: <a href="http://test.siliconvalley-codecamp.com" class="broken_link">http://test.siliconvalley-codecamp.com</a>) and set up my publish to replace my normal anonymous authentication (allowing anonymous users) to one that denies anonymous users.&#160; Just as an aside, the reason I did this was I notice that google was indexing some of those pages even though my robots.txt file says to deny access to all robots.&#160; Apparently some crawlers don’t respect that signal.</p>
<p>For a little background, I did publish some basics about doing transforms here:</p>
<p><a href="http://peterkellner.net/2013/03/31/vs2012-web-deploy-using-tranforms-for-connection-string-in-production/">http://peterkellner.net/2013/03/31/vs2012-web-deploy-using-tranforms-for-connection-string-in-production/</a></p>
<p>So, here is what I have in my web.config file that is part of my normal project source control.</p>
<p><a href="http://petersblogcdn1.s3.amazonaws.com/wp/wp/wp-content/uploads/2013/05/image1.png"><img title="image" style="border-top: 0px; border-right: 0px; border-bottom: 0px; border-left: 0px; display: inline" border="0" alt="image" src="http://petersblogcdn1.s3.amazonaws.com/wp/wp/wp-content/uploads/2013/05/image_thumb1.png" width="376" height="128" /></a> </p>
<p>And, here is my transform file (Web.Test.config)</p>
<p><a href="http://petersblogcdn1.s3.amazonaws.com/wp/wp/wp-content/uploads/2013/05/image2.png"><img title="image" style="border-top: 0px; border-right: 0px; border-bottom: 0px; border-left: 0px; display: inline" border="0" alt="image" src="http://petersblogcdn1.s3.amazonaws.com/wp/wp/wp-content/uploads/2013/05/image_thumb2.png" width="362" height="152" /></a> </p>
<p>And, just to show the result, this is what end up on my test server:</p>
<p><a href="http://petersblogcdn1.s3.amazonaws.com/wp/wp/wp-content/uploads/2013/05/image3.png"><img title="image" style="border-top: 0px; border-right: 0px; border-bottom: 0px; border-left: 0px; display: inline" border="0" alt="image" src="http://petersblogcdn1.s3.amazonaws.com/wp/wp/wp-content/uploads/2013/05/image_thumb3.png" width="331" height="91" /></a> </p>
<p>And Finally, just for some extra bonus stuff here at the end, here is what my tranformation looks like that simply removes the debug option when I publish to production.</p>
<p><a href="http://petersblogcdn1.s3.amazonaws.com/wp/wp/wp-content/uploads/2013/05/image4.png"><img title="image" style="border-top: 0px; border-right: 0px; border-bottom: 0px; border-left: 0px; display: inline" border="0" alt="image" src="http://petersblogcdn1.s3.amazonaws.com/wp/wp/wp-content/uploads/2013/05/image_thumb4.png" width="486" height="68" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://peterkellner.net/2013/05/17/using-visual-studio-2012-web-publish-for-staging-on-the-internet/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Using IntelliTrace With Entity Framework In Visual Studio 2012</title>
		<link>http://peterkellner.net/2013/05/05/using-intellitrace-with-entity-framework-in-visual-studio-2012/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=using-intellitrace-with-entity-framework-in-visual-studio-2012</link>
		<comments>http://peterkellner.net/2013/05/05/using-intellitrace-with-entity-framework-in-visual-studio-2012/#comments</comments>
		<pubDate>Mon, 06 May 2013 02:15:14 +0000</pubDate>
		<dc:creator>Peter Kellner</dc:creator>
				<category><![CDATA[Entity Framework]]></category>
		<category><![CDATA[SQL Server]]></category>
		<category><![CDATA[Visual Studio 2012]]></category>

		<guid isPermaLink="false">http://peterkellner.net/?p=3595</guid>
		<description><![CDATA[This is not a big deal, but I have recently bumped into several people that did not know about it so I thought I’d do a blog post just to show what it is and how is just trivial to use for useful stuff.
The issue I’m showing is how to see the Sql generated from [...]]]></description>
				<content:encoded><![CDATA[<p>This is not a big deal, but I have recently bumped into several people that did not know about it so I thought I’d do a blog post just to show what it is and how is just trivial to use for useful stuff.</p>
<p>The issue I’m showing is how to see the Sql generated from Entity Framework.&#160; My old habit use to be to stop the debugger and hover over the query variable in the code, grab it as a debug variable, then cut and paste to SqlServer enterprise.</p>
<p>Now, I just go to the DEBUG menu in VS, Windows / Intellitrace and I get a nice listing on the right side of all my ADO.NET calls.&#160; The last one is the one I just did.&#160; </p>
<p>My code below is pretty self explanatory.&#160; You can see I’ve just issued a db.SaveChanges().&#160; You can also see the Sql generated for the update.&#160; I was checking because I wanted to confirm it was just updating one column.&#160; It was!</p>
<p><a href="http://petersblogcdn1.s3.amazonaws.com/wp/wp/wp-content/uploads/2013/05/image.png"><img title="image" style="border-left-width: 0px; border-right-width: 0px; border-bottom-width: 0px; display: inline; border-top-width: 0px" border="0" alt="image" src="http://petersblogcdn1.s3.amazonaws.com/wp/wp/wp-content/uploads/2013/05/image_thumb.png" width="479" height="390" /></a> </p>
<p>Hope this helps!</p>
]]></content:encoded>
			<wfw:commentRss>http://peterkellner.net/2013/05/05/using-intellitrace-with-entity-framework-in-visual-studio-2012/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Last Nights Meetup At Sencha HQ In RWC Excellent!</title>
		<link>http://peterkellner.net/2013/05/01/last-nights-meetup-at-sencha-hq-in-rwc-excellent/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=last-nights-meetup-at-sencha-hq-in-rwc-excellent</link>
		<comments>http://peterkellner.net/2013/05/01/last-nights-meetup-at-sencha-hq-in-rwc-excellent/#comments</comments>
		<pubDate>Wed, 01 May 2013 13:57:23 +0000</pubDate>
		<dc:creator>Peter Kellner</dc:creator>
				<category><![CDATA[Community]]></category>
		<category><![CDATA[Sencha]]></category>
		<category><![CDATA[SenchaTouch]]></category>

		<guid isPermaLink="false">http://peterkellner.net/?p=3592</guid>
		<description><![CDATA[Last nights meetup at Sencha Headquarters in Redwood City with Jacky Nguyen presenting was excellent, and as usual very fun.&#160; Jacky talked about tons of performance stuff related to the holy grail of 60 frames per second rendering and mobile sweetness. Sadly, I learned that my ping-pong skills are in total decay. Having slide a [...]]]></description>
				<content:encoded><![CDATA[<p>Last nights meetup at Sencha Headquarters in Redwood City with Jacky Nguyen presenting was excellent, and as usual very fun.&#160; Jacky talked about tons of performance stuff related to the holy grail of 60 frames per second rendering and mobile sweetness. Sadly, I learned that my ping-pong skills are in total decay. Having slide a very far way from Dorm 5 champion at college, it feels like I’ve returned to rank beginner.&#160; Very sad.</p>
<p><a href="http://www.meetup.com/The-San-Francisco-ExtJS-Meetup-Group/events/114540882/">http://www.meetup.com/The-San-Francisco-ExtJS-Meetup-Group/events/114540882/</a></p>
<p>Most of the usual suspects were there.</p>
<div id="scid:66721397-FF69-4ca6-AEC4-17E6B3208830:fb11d7a9-36e6-46f0-8575-7762f531458f" class="wlWriterEditableSmartContent" style="float: none; padding-bottom: 0px; padding-top: 0px; padding-left: 0px; margin: 0px; display: inline; padding-right: 0px"><a style="border:0px" href="https://skydrive.live.com/redir.aspx?cid=60f1a949216c6b8f&amp;page=browse&amp;resid=60F1A949216C6B8F!21562&amp;type=5"><img style="border:0px" alt="View Sencha Meetup April 2013 RWC" src="http://petersblogcdn1.s3.amazonaws.com/wp/wp/wp-content/uploads/2013/05/InlineRepresentationd5033d0a3e474c7796432eb69875716a.jpg" /></a>
<div style="width:340px;text-align:right;" ><a href="https://skydrive.live.com/redir.aspx?cid=60f1a949216c6b8f&amp;page=browse&amp;resid=60F1A949216C6B8F!21562&amp;type=5">View Full Album</a></div>
</div>
]]></content:encoded>
			<wfw:commentRss>http://peterkellner.net/2013/05/01/last-nights-meetup-at-sencha-hq-in-rwc-excellent/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Why ReSharper Is Worth Using (reason #879)</title>
		<link>http://peterkellner.net/2013/04/14/why-resharper-is-worth-using-reason-879/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=why-resharper-is-worth-using-reason-879</link>
		<comments>http://peterkellner.net/2013/04/14/why-resharper-is-worth-using-reason-879/#comments</comments>
		<pubDate>Sun, 14 Apr 2013 15:47:30 +0000</pubDate>
		<dc:creator>Peter Kellner</dc:creator>
				<category><![CDATA[C#]]></category>
		<category><![CDATA[ReSharper]]></category>

		<guid isPermaLink="false">http://peterkellner.net/?p=3589</guid>
		<description><![CDATA[&#160;
I often email the folks at JetBrains (the makers of ReSharper) letting them know that one of their refactors is wrong.&#160; They often email me back letting me know my about my misunderstanding.&#160; I actually enjoy this.
Today, was a perfect example but I did not get past the ReSharper feedback form when I realized my [...]]]></description>
				<content:encoded><![CDATA[<p>&#160;</p>
<p>I often email the folks at <a href="http://www.jetbrains.com/">JetBrains</a> (the makers of <a href="http://www.jetbrains.com/resharper/">ReSharper</a>) letting them know that one of their refactors is wrong.&#160; They often email me back letting me know my about my misunderstanding.&#160; I actually enjoy this.</p>
<p>Today, was a perfect example but I did not get past the <a href="http://www.jetbrains.com/resharper/">ReSharper</a> feedback form when I realized my code was wrong (sadly missed the exchange with them).&#160; I’m busy writing the SEO save for <a href="http://www.siliconvalley-codecamp.com/">Silicon Valley Code Camp’s</a> new web site (coming by next week hopefully).&#160; In this case, I’m looking for a trackId passed into the sessions.aspx page. If I find it, then I redirect to a more friendly URL.</p>
<p>Here is my code I was going to complain to ReSharper about as incorrectly warning me that my trackId = –1; is redundant.</p>
<p><a href="http://petersblogcdn1.s3.amazonaws.com/wp/wp/wp-content/uploads/2013/04/image6.png"><img title="image" style="border-top: 0px; border-right: 0px; border-bottom: 0px; border-left: 0px; display: inline" border="0" alt="image" src="http://petersblogcdn1.s3.amazonaws.com/wp/wp/wp-content/uploads/2013/04/image_thumb6.png" width="380" height="70" /></a> </p>
<p><a href="http://petersblogcdn1.s3.amazonaws.com/wp/wp/wp-content/uploads/2013/04/SNAGHTML40a7f61.png"><img title="SNAGHTML40a7f61" style="border-top: 0px; border-right: 0px; border-bottom: 0px; border-left: 0px; display: inline" border="0" alt="SNAGHTML40a7f61" src="http://petersblogcdn1.s3.amazonaws.com/wp/wp/wp-content/uploads/2013/04/SNAGHTML40a7f61_thumb.png" width="381" height="95" /></a></p>
</p>
<p>My mistake is that trackId is always replaced (even with 0) if the QueryString does not evaluate to a valid int.</p>
<p>The corrected code is this:</p>
<p><a href="http://petersblogcdn1.s3.amazonaws.com/wp/wp/wp-content/uploads/2013/04/image7.png"><img title="image" style="border-top: 0px; border-right: 0px; border-bottom: 0px; border-left: 0px; display: inline" border="0" alt="image" src="http://petersblogcdn1.s3.amazonaws.com/wp/wp/wp-content/uploads/2013/04/image_thumb7.png" width="396" height="66" /></a> </p>
<p>One less bug thanks to ReSharper.</p>
]]></content:encoded>
			<wfw:commentRss>http://peterkellner.net/2013/04/14/why-resharper-is-worth-using-reason-879/feed/</wfw:commentRss>
		<slash:comments>9</slash:comments>
		</item>
		<item>
		<title>Creating a 1024&#215;768 Video On A High Res Monitor With Macro Express Pro Helping</title>
		<link>http://peterkellner.net/2013/04/11/creating-a-1024x768-video-on-a-high-res-monitor-with-macro-express-pro-helping/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=creating-a-1024x768-video-on-a-high-res-monitor-with-macro-express-pro-helping</link>
		<comments>http://peterkellner.net/2013/04/11/creating-a-1024x768-video-on-a-high-res-monitor-with-macro-express-pro-helping/#comments</comments>
		<pubDate>Fri, 12 Apr 2013 00:49:35 +0000</pubDate>
		<dc:creator>Peter Kellner</dc:creator>
				<category><![CDATA[ASP.NET 2.0]]></category>

		<guid isPermaLink="false">http://peterkellner.net/?p=3581</guid>
		<description><![CDATA[&#160;
I’ve recently started my journey as a Pluralsight author and, as is know surprise, I’m spending a lot of time getting my tools set up.&#160; Regardless of what video editing tool you use, you need to record both screens and voice.&#160; I believe most video authors at Pluralsight have a dedicated monitor running at 1024&#215;768.&#160; [...]]]></description>
				<content:encoded><![CDATA[<p>&#160;</p>
<p>I’ve recently started my journey as a <a href="http://pluralsight.com/training">Pluralsight</a> author and, as is know surprise, I’m spending a lot of time getting my tools set up.&#160; Regardless of what video editing tool you use, you need to record both screens and voice.&#160; I believe most video authors at Pluralsight have a dedicated monitor running at 1024&#215;768.&#160; They simply record this windows.</p>
<p>Unfortunately for me, that does not work so well because I’m doing all my work on a MacBook Pro with just two external monitors (neither of which run correctly at 1024&#215;768).&#160; So, my process is to create a 1024&#215;768 window in the upper left hand corner of my Thunderbolt monitor (resolution 2560&#215;1440).&#160; I’m going to run camtasia recorder in a custom region sized 1024&#215;768.&#160; The challenge now becomes you have to align exactly your apps.&#160; You’ll see from the video I’m attaching below that my steady hand is not so steady and I would never be able to achieve this exact positioning.</p>
<p>So, just a couple notes</p>
<ul>
<li>You need to run Macro Express Pro as Admin </li>
<li>This will likely not work on anything but windows 8 on thunderbolt monitor </li>
<li>Small Adjustments may be necessary </li>
</ul>
<ul><a href="http://www.macros.com/">http://www.macros.com/</a> (I believe you need the pro version)</ul>
<p> The Macro Exported
<ul>&#160;
<div id="scid:8eb9d37f-1541-4f29-b6f4-1eea890d4876:a3ca549e-cd05-49ed-87fd-9e8aead11adb" class="wlWriterEditableSmartContent" style="float: none; padding-bottom: 0px; padding-top: 0px; padding-left: 0px; margin: 0px; display: inline; padding-right: 0px">
<div id="scid:8eb9d37f-1541-4f29-b6f4-1eea890d4876:a3ca549e-cd05-49ed-87fd-9e8aead11adb" class="wlWriterSmartContent" style="float: none; padding-bottom: 0px; padding-top: 0px; padding-left: 0px; margin: 0px; display: inline; padding-right: 0px"> </ul>
<ul>And the Video</ul>
<ul>
<div id="scid:5737277B-5D6D-4f48-ABFC-DD9C333F4C5D:1abbf227-bcda-4469-a429-da4f15e66497" class="wlWriterSmartContent" style="float: none; padding-bottom: 0px; padding-top: 0px; padding-left: 0px; margin: 0px; display: inline; padding-right: 0px">
<div><object width="425" height="355"><param name="movie" value="http://www.youtube.com/v/MyKEN9eCobI&amp;hl=en"></param><embed src="http://www.youtube.com/v/MyKEN9eCobI&amp;hl=en" type="application/x-shockwave-flash" width="425" height="355"></embed></object></div>
</div>
</ul>
</div>
]]></content:encoded>
			<wfw:commentRss>http://peterkellner.net/2013/04/11/creating-a-1024x768-video-on-a-high-res-monitor-with-macro-express-pro-helping/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>ImageResizer, Amazon&#8217;s CloudFront and ASP.NET&#8217;s MVC4 Razor Helper Methods</title>
		<link>http://peterkellner.net/2013/04/10/imageresizer-amazons-cloudfront-and-asp-nets-mvc4-razor-helper-methods/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=imageresizer-amazons-cloudfront-and-asp-nets-mvc4-razor-helper-methods</link>
		<comments>http://peterkellner.net/2013/04/10/imageresizer-amazons-cloudfront-and-asp-nets-mvc4-razor-helper-methods/#comments</comments>
		<pubDate>Thu, 11 Apr 2013 02:36:35 +0000</pubDate>
		<dc:creator>Peter Kellner</dc:creator>
				<category><![CDATA[C#]]></category>
		<category><![CDATA[ImageResizer]]></category>
		<category><![CDATA[MVC4]]></category>
		<category><![CDATA[WebAPI]]></category>

		<guid isPermaLink="false">http://peterkellner.net/?p=3579</guid>
		<description><![CDATA[&#160;
Well, the title is certainly a mouthful and hopefully a honey trap for SEO.&#160; The thing is, I’m really going to talk about all those things.&#160; I just went through a short exercise that I thought would be useful to share.
Background
For Silicon Valley Code Camp, I use the toolkit ImageResizer written by&#160; Nathanael Jones.&#160; For [...]]]></description>
				<content:encoded><![CDATA[<p>&#160;</p>
<p>Well, the title is certainly a mouthful and hopefully a honey trap for SEO.&#160; The thing is, I’m really going to talk about all those things.&#160; I just went through a short exercise that I thought would be useful to share.</p>
<h2>Background</h2>
<p>For <a href="http://www.siliconvalley-codecamp.com/">Silicon Valley Code Camp</a>, I use the toolkit <a href="http://imageresizing.net/">ImageResizer</a> written by&#160; <a href="http://www.nathanaeljones.com/">Nathanael Jones</a>.&#160; For those of you that deal with any quantity of images on their web sites, I strongly recommend taking a look at this.&#160; Before I used this toolkit I written my own image handlers that did some similar things but not nearly as well or with so many features.&#160; One of the issues we have on code camp is that we try and show lots of pictures all the time.&#160; Sponsors and speakers are really what causes the glut of pictures.&#160; ImageResizer let’s me do things like create a URL as follows:</p>
<p><a href="http://www.siliconvalley-codecamp.com/attendeeimage/1124.jpg?format=jpg&amp;w=300&amp;h=300&amp;scale=both&amp;mode=pad&amp;bgcolor=green">http://www.siliconvalley-codecamp.com/attendeeimage/1124.jpg?format=jpg&amp;w=300&amp;h=300&amp;scale=both&amp;mode=pad&amp;bgcolor=green</a></p>
<p>What happens under the covers is that in my <a href="http://www.asp.net/web-api">ASP.NET WebAPI</a> site, I’ve got ImageResizer configured to do a select from my <a href="http://www.microsoft.com/en-us/sqlserver/default.aspx">SqlServer</a> Speakers table the record with id=1124.&#160; Then, ImageResizer scales the image to 200&#215;200 pixels, pads the space so as not to distort the image, then it fill in any area that got did not make the pad with green.&#160; That is, it renders an image like this (but feel free and click yourself to see)</p>
<p><a href="http://petersblogcdn1.s3.amazonaws.com/wp/wp/wp-content/uploads/2013/04/image.png"><img title="image" style="border-top: 0px; border-right: 0px; border-bottom: 0px; border-left: 0px; display: inline" border="0" alt="image" src="http://petersblogcdn1.s3.amazonaws.com/wp/wp/wp-content/uploads/2013/04/image_thumb.png" width="129" height="130" /></a> </p>
<h2>The How To</h2>
<p>I’m not going to make this a 20 page post.&#160; I’m just going to go through the highlights and drop a little code here and there.</p>
<p>Let’s start out with ImageResizer.&#160; For that, we want it to:</p>
<ul>
<li>Cache Images On Our Local Server</li>
<li>Cache Images Through Amazon’s Cloud Front</li>
<li>Size, Scale and Pad as Necessary</li>
<li>Read Data From SqlServer</li>
</ul>
<ul>To make that happen, I had to install the plugins listed in my web.config below (you can see more <a href="http://imageresizing.net/docs">doc’s</a> on the imageresizer site).</ul>
<p><a href="http://petersblogcdn1.s3.amazonaws.com/wp/wp/wp-content/uploads/2013/04/image1.png"><img title="image" style="border-top: 0px; border-right: 0px; border-bottom: 0px; border-left: 0px; display: inline" border="0" alt="image" src="http://petersblogcdn1.s3.amazonaws.com/wp/wp/wp-content/uploads/2013/04/image_thumb1.png" width="610" height="166" /></a> </p>
<p>Then, I need to setup an Amazon CloudFront instance from my <a href="https://console.aws.amazon.com/cloudfront/home">amazon console</a>.</p>
</p>
<p><a href="http://petersblogcdn1.s3.amazonaws.com/wp/wp/wp-content/uploads/2013/04/image2.png"><img title="image" style="border-top: 0px; border-right: 0px; border-bottom: 0px; border-left: 0px; display: inline" border="0" alt="image" src="http://petersblogcdn1.s3.amazonaws.com/wp/wp/wp-content/uploads/2013/04/image_thumb2.png" width="610" height="72" /></a> </p>
<p>Notice that I have a CName so that if someone does a view/source, they see cache.siliconvalley-codecamp.com and not 3984kasdflk.cloudfront.net.&#160; The idea here is that anytime someone goes to 3984kasdflk.cloudfront.net/Images/904.jpg, cloudfront redirects them to my site at siliconvalley-codecamp.com/904.jpg.&#160; The first time that site gets hit, cloudfront pulls the image from my server.&#160; After that, cloudfront has the image and does not have to ask for it again.&#160; That means my image is now scattered around the world and I don’t have to server it over and over.&#160; BTW, the actual link to that gets sent in our page looks more like this:&#160; </p>
<p><a href="http://cache.siliconvalley-codecamp.com/attendeeimage/1124.jpg;format=jpg;w=300;h=300;scale=both;mode=pad;bgcolor=green">http://cache.siliconvalley-codecamp.com/attendeeimage/1124.jpg;format=jpg;w=300;h=300;scale=both;mode=pad;bgcolor=green</a></p>
<p>If you look carefully, the link above has “;” instead of ? and &amp; characters.&#160; That is because ImageResizer supports cloudfront that way.&#160; I understand there is another way it could have been done, but for now, I’m going with what works.</p>
<p>So, the final step is fix the parameters in my actual razor page to convert from the normal parameter URL with ? and &amp; characters to one that has just ;’s.&#160; Rather than have to go through the code and surgically fix each reference, I thought it better to write a simple <a href="http://weblogs.asp.net/scottgu/archive/2010/01/10/asp-net-mvc-2-strongly-typed-html-helpers.aspx">HtmlHelper</a> in razor that does the work for me.</p>
<p>So, into my /Code directory of my WebAPI project and I wrote the following code:</p>
<p><a href="http://petersblogcdn1.s3.amazonaws.com/wp/wp/wp-content/uploads/2013/04/image3.png"><img title="image" style="border-top: 0px; border-right: 0px; border-bottom: 0px; border-left: 0px; display: inline" border="0" alt="image" src="http://petersblogcdn1.s3.amazonaws.com/wp/wp/wp-content/uploads/2013/04/image_thumb3.png" width="585" height="309" /></a> </p>
<p>Sprinkled a line of code in the web.config file IN the view directory as follows:</p>
<p><a href="http://petersblogcdn1.s3.amazonaws.com/wp/wp/wp-content/uploads/2013/04/image4.png"><img title="image" style="border-top: 0px; border-right: 0px; border-bottom: 0px; border-left: 0px; display: inline" border="0" alt="image" src="http://petersblogcdn1.s3.amazonaws.com/wp/wp/wp-content/uploads/2013/04/image_thumb4.png" width="462" height="315" /></a> </p>
<p>And then had my razor code look like this to “fix” the image parameters to be semicolons as follows:</p>
<p><a href="http://petersblogcdn1.s3.amazonaws.com/wp/wp/wp-content/uploads/2013/04/image5.png"><img title="image" style="border-top: 0px; border-right: 0px; border-bottom: 0px; border-left: 0px; display: inline" border="0" alt="image" src="http://petersblogcdn1.s3.amazonaws.com/wp/wp/wp-content/uploads/2013/04/image_thumb5.png" width="610" height="80" /></a> </p>
</p>
<p>That’s it!&#160; Now, I’m CloudFronted!&#160; </p>
]]></content:encoded>
			<wfw:commentRss>http://peterkellner.net/2013/04/10/imageresizer-amazons-cloudfront-and-asp-nets-mvc4-razor-helper-methods/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Why We (Me Included) Need to Stick To JavaScript Programming Style Standards</title>
		<link>http://peterkellner.net/2013/04/01/why-we-me-included-need-to-stick-to-javascript-programming-style-standards/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=why-we-me-included-need-to-stick-to-javascript-programming-style-standards</link>
		<comments>http://peterkellner.net/2013/04/01/why-we-me-included-need-to-stick-to-javascript-programming-style-standards/#comments</comments>
		<pubDate>Mon, 01 Apr 2013 20:24:16 +0000</pubDate>
		<dc:creator>Peter Kellner</dc:creator>
				<category><![CDATA[Coding Standards]]></category>
		<category><![CDATA[JavaScript]]></category>

		<guid isPermaLink="false">http://peterkellner.net/?p=3561</guid>
		<description><![CDATA[&#160;
I’ve listened multiple times to Douglas Crockford talk about the importance of following good programming style standards.&#160; I try to normally, but this morning I got a little lazy with the following code:
store.sync({    &#160;&#160;&#160; success: function() {Ext.Msg.alert(&#34;success&#34;)},     &#160;&#160;&#160; failure: function(a,b,c) {…
I wrote this a while back and wanted [...]]]></description>
				<content:encoded><![CDATA[<p>&#160;</p>
<p>I’ve listened multiple times to <a href="http://www.crockford.com/">Douglas Crockford</a> talk about the importance of following good programming style standards.&#160; I try to normally, but this morning I got a little lazy with the following code:</p>
<p>store.sync({    <br />&#160;&#160;&#160; success: function() {Ext.Msg.alert(&quot;success&quot;)},     <br />&#160;&#160;&#160; failure: function(a,b,c) {…</p>
<p>I wrote this a while back and wanted to keep it short so I did not put the alert message on it’s own line.&#160; Then, today I came along and decided to not have it execute the alert so I simply added a leading “//” giving me</p>
<p>store.sync({    <br />&#160;&#160;&#160; success: function() {//Ext.Msg.alert(&quot;success&quot;)},     <br />&#160;&#160;&#160; failure: function(a,b,c) {..</p>
<p>Well, of course it crashed my production deployment because I was again lazy and did not test.</p>
<p>Had I originally done it correctly as </p>
<p>store.sync({    <br />&#160;&#160;&#160; success: function() {     <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160; Ext.Msg.alert(&quot;success&quot;)     <br />&#160;&#160;&#160; },…</p>
<p>I would have not been bitten today.</p>
<p>Just sayin…</p>
]]></content:encoded>
			<wfw:commentRss>http://peterkellner.net/2013/04/01/why-we-me-included-need-to-stick-to-javascript-programming-style-standards/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Volunteering At Html5DevConf In San Francisco Today, Pictures and Commentary</title>
		<link>http://peterkellner.net/2013/04/01/volunteering-at-html5devconf-in-san-francisco-today-pictures-and-commentary/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=volunteering-at-html5devconf-in-san-francisco-today-pictures-and-commentary</link>
		<comments>http://peterkellner.net/2013/04/01/volunteering-at-html5devconf-in-san-francisco-today-pictures-and-commentary/#comments</comments>
		<pubDate>Mon, 01 Apr 2013 18:24:25 +0000</pubDate>
		<dc:creator>Peter Kellner</dc:creator>
				<category><![CDATA[ASP.NET 2.0]]></category>

		<guid isPermaLink="false">http://peterkellner.net/?p=3557</guid>
		<description><![CDATA[&#160;
I started at 7AM today as a volunteer at the HTML5 Developer Conference in San Francisco.&#160; As the organizer of Silicon Valley Code Camp (an event with many similarities, yet still quite different and also open for registration), I don’t really get to “enjoy” what it’s like to be an ordinary volunteer.&#160; Let me just [...]]]></description>
				<content:encoded><![CDATA[<p>&#160;</p>
<p>I started at 7AM today as a volunteer at the <a href="http://html5devconf.com/">HTML5 Developer Conference</a> in San Francisco.&#160; As the organizer of <a href="http://www.siliconvalley-codecamp.com/Register">Silicon Valley Code Camp</a> (an event with many similarities, yet still quite different and also open for registration), I don’t really get to “enjoy” what it’s like to be an ordinary volunteer.&#160; Let me just say one thing.&#160; It is very fun!&#160; You get to relax, chat with people, share stories, talk to other volunteers, answer lots of questions and do whatever gopher jobs come along with and all at the same time feeling no pressure.</p>
<div id="scid:66721397-FF69-4ca6-AEC4-17E6B3208830:f06bbef9-d9eb-473a-bb4b-a2c13af98d5e" class="wlWriterEditableSmartContent" style="float: none; padding-bottom: 0px; padding-top: 0px; padding-left: 0px; margin: 0px; display: inline; padding-right: 0px"><a style="border:0px" href="https://skydrive.live.com/redir.aspx?cid=60f1a949216c6b8f&amp;page=browse&amp;resid=60F1A949216C6B8F!21491&amp;type=5"><img style="border:0px" alt="View HTML5 Developer Conference San Francisco April 1-3" src="http://petersblogcdn1.s3.amazonaws.com/wp/wp/wp-content/uploads/2013/04/InlineRepresentation054da1e4bc0c4d999cb2f2300cb2e4a1.jpg" /></a>
<div style="width:340px;text-align:right;" ><a href="https://skydrive.live.com/redir.aspx?cid=60f1a949216c6b8f&amp;page=browse&amp;resid=60F1A949216C6B8F!21491&amp;type=5">View Full Album</a></div>
</div>
<p>&#160;</p>
<p>Because I can’t stop myself, I thought that I’d publish a list of all the questions people asked me today along with my best guess at the answers.&#160; Here we go:</p>
<ul>
<li>Where is the Coffee? – A: Down the Hall with the sponsors </li>
<li>Where do I get information on the training sessions? A: The site is almost ready.&#160; Keep checking back there and you answer will come before you really need it. </li>
<li>I can’t find my badge, help! A: check with Jonathan at the table over there </li>
<li>Where Are the Sessions? A: The first four columns of the printed schedule are all down on this floor where we are now and the other 4 are up stairs on the next floor. </li>
<li>Are the sessions being recorded? A: All sessions in columns 1,2,3 and 5 are being recorded (from the schedule handout) </li>
<li>When do I get my T-Shirt? A: at lunch </li>
<li>Are the training classes later this week full? A: Yes </li>
<li>Where are the Sponsors?&#160; A: Some are on this floor and others are upstairs. </li>
<li>How About Wifi?&#160; A: Choose PalaceMeetingWifi and the password is the first 4 letters of this conference (keep that to yourself please) </li>
<li>I’m a Sponsor but I don’t see my badge?&#160; A: See Jonathan at the end and he will make you a badge </li>
<li>I’m a speaker and can’t find my badge? A: See Jonathan </li>
<li>Where is the Coffee? A: See question 1 (I got that a lot) </li>
</ul>
<p>I’m having a great time!&#160; The content and sponsors look awesome.&#160; Thanks to all the organizers for another job well done!</p>
]]></content:encoded>
			<wfw:commentRss>http://peterkellner.net/2013/04/01/volunteering-at-html5devconf-in-san-francisco-today-pictures-and-commentary/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>VS2012 Web Deploy, Using Transforms For Connection String In Production (Web.Config)</title>
		<link>http://peterkellner.net/2013/03/31/vs2012-web-deploy-using-tranforms-for-connection-string-in-production/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=vs2012-web-deploy-using-tranforms-for-connection-string-in-production</link>
		<comments>http://peterkellner.net/2013/03/31/vs2012-web-deploy-using-tranforms-for-connection-string-in-production/#comments</comments>
		<pubDate>Sun, 31 Mar 2013 19:10:44 +0000</pubDate>
		<dc:creator>Peter Kellner</dc:creator>
				<category><![CDATA[ASP.net]]></category>
		<category><![CDATA[ASP.NET 4.5]]></category>
		<category><![CDATA[Deployment]]></category>
		<category><![CDATA[Visual Studio 2012]]></category>
		<category><![CDATA[VS2010]]></category>
		<category><![CDATA[VS2012]]></category>
		<category><![CDATA[asp.net performance]]></category>

		<guid isPermaLink="false">http://peterkellner.net/?p=3552</guid>
		<description><![CDATA[&#160;
Introduction
I should have learned this a long time ago.  I certainly have known about it since VS2010 when it was introduced, I’ve read about it multiple times, I just thought I did not have the time to learn it so for the past couple years, I’ve been making one web.config change after another and of [...]]]></description>
				<content:encoded><![CDATA[<p>&nbsp;</p>
<h2>Introduction</h2>
<p>I should have learned this a long time ago.  I certainly have known about it since VS2010 when it was introduced, I’ve read about it multiple times, I just thought I did not have the time to learn it so for the past couple years, I’ve been making one <a href="http://msdn.microsoft.com/en-us/library/k8x4ket8(v=vs.80).aspx">web.config</a> change after another and of course making all the stupid little mistakes we all make (I think) when we do things manually.</p>
<p>So, in 25 minutes this morning, I updated my <a href="http://siliconvalley-codecamp.com">http://siliconvalley-codecamp.com</a> site with Web.Config transforms so now, when I “publish” with Visual Studio 2012 I just pick the correct profile (either beta4 or svccprod) and when I do the publish command, I get the correct database connection strings.  svcodecamptest for beta4 and svcodecamp for production.  Here is what I’ mean, then I will go into more details to show just how simple it really is.</p>
<table width="800" border="0" cellspacing="0" cellpadding="10">
<tbody>
<tr>
<td valign="top" width="400">Deploy To Production</td>
<td valign="top" width="400">Deploy To Test</td>
</tr>
<tr>
<td valign="top" width="400"><a href="http://petersblogcdn1.s3.amazonaws.com/wp/wp/wp-content/uploads/2013/03/image19.png"><img style="display: inline; border-width: 0px;" title="image" alt="image" src="http://petersblogcdn1.s3.amazonaws.com/wp/wp/wp-content/uploads/2013/03/image_thumb17.png" width="244" height="191" border="0" /></a></td>
<td valign="top" width="400"><a href="http://petersblogcdn1.s3.amazonaws.com/wp/wp/wp-content/uploads/2013/03/image20.png"><img style="display: inline; border-width: 0px;" title="image" alt="image" src="http://petersblogcdn1.s3.amazonaws.com/wp/wp/wp-content/uploads/2013/03/image_thumb18.png" width="244" height="192" border="0" /></a></td>
</tr>
<tr>
<td colspan="2" valign="top" width="400"><a href="http://petersblogcdn1.s3.amazonaws.com/wp/wp/wp-content/uploads/2013/03/image21.png"><img style="display: inline; border-width: 0px;" title="image" alt="image" src="http://petersblogcdn1.s3.amazonaws.com/wp/wp/wp-content/uploads/2013/03/image_thumb19.png" width="400" height="172" border="0" /></a></td>
</tr>
</tbody>
</table>
<p>&nbsp;</p>
<h2>Nuts and Bolts</h2>
<p>To make the above a reality, it is really quite simple.  Here are the steps (and for a more complete description, read here:  <a href="http://msdn.microsoft.com/en-us/library/dd465318(v=vs.100).aspx">http://msdn.microsoft.com/en-us/library/dd465318(v=vs.100).aspx</a> (that is where I learned it in under 30 minutes).</p>
<p>First, create two new configuration profiles.  In my case I just used the nice wizard that says copy an existing profile.  I copied the release profile.  The screen shot is something like this:</p>
<p><a href="http://petersblogcdn1.s3.amazonaws.com/wp/wp/wp-content/uploads/2013/03/image22.png"><img style="display: inline; border: 0px;" title="image" alt="image" src="http://petersblogcdn1.s3.amazonaws.com/wp/wp/wp-content/uploads/2013/03/image_thumb20.png" width="347" height="251" border="0" /></a></p>
<p>In the “Active solution configuration” dropdown, the last choice is “create new” and from there you can create a new configuration copying an existing one.  My current one shown is “beta4”.</p>
<p>Then, go to your <a href="http://www.microsoft.com/visualstudio/eng/office-dev-tools-for-visual-studio">vs2012</a> solution explorer, right click on your real web.config and choose “Add Config Transform”.  It will be highlighted if you have a new one like you added above (I’ve already added my transforms).</p>
<p><a href="http://petersblogcdn1.s3.amazonaws.com/wp/wp/wp-content/uploads/2013/03/image23.png"><img style="display: inline; border: 0px;" title="image" alt="image" src="http://petersblogcdn1.s3.amazonaws.com/wp/wp/wp-content/uploads/2013/03/image_thumb21.png" width="494" height="347" border="0" /></a></p>
<p>Now, this next step is the really cool easy part if I had known about I would have done a long time ago.  All you have to do is copy the section you want in this particular configuration (and will be web deployment) your named config and add 2 attributes to that xml (for that named config).  Wow!, that’s it.  I feel so stupid for thinking this was going to be some XSLT transform learning party before I could use this.</p>
<p><a href="http://petersblogcdn1.s3.amazonaws.com/wp/wp/wp-content/uploads/2013/03/image24.png"><img style="display: inline; border: 0px;" title="image" alt="image" src="http://petersblogcdn1.s3.amazonaws.com/wp/wp/wp-content/uploads/2013/03/image_thumb22.png" width="452" height="194" border="0" /></a></p>
<p>Finally, you go to your publish wizard from your “Project” and say “Publish”, make sure you have a configuration set for each server you want to publish to as follows (I’m showing my production one)</p>
<p><a href="http://petersblogcdn1.s3.amazonaws.com/wp/wp/wp-content/uploads/2013/03/image25.png"><img style="display: inline; border: 0px;" title="image" alt="image" src="http://petersblogcdn1.s3.amazonaws.com/wp/wp/wp-content/uploads/2013/03/image_thumb23.png" width="445" height="349" border="0" /></a></p>
<p>And that is it!</p>
<p>&nbsp;</p>
<h2>Conclusions</h2>
<p>I’m annoyed I did not learn this 2 years ago.</p>
]]></content:encoded>
			<wfw:commentRss>http://peterkellner.net/2013/03/31/vs2012-web-deploy-using-tranforms-for-connection-string-in-production/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Using Sencha ExtJS 4.2, Sencha Architect 2.2, Add CRUD to REST client for calling Microsoft WebAPI server</title>
		<link>http://peterkellner.net/2013/03/13/using-sencha-extjs-4-2-sencha-architect-2-2-add-crud-to-rest-client-for-calling-microsoft-webapi-server/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=using-sencha-extjs-4-2-sencha-architect-2-2-add-crud-to-rest-client-for-calling-microsoft-webapi-server</link>
		<comments>http://peterkellner.net/2013/03/13/using-sencha-extjs-4-2-sencha-architect-2-2-add-crud-to-rest-client-for-calling-microsoft-webapi-server/#comments</comments>
		<pubDate>Wed, 13 Mar 2013 17:41:10 +0000</pubDate>
		<dc:creator>Peter Kellner</dc:creator>
				<category><![CDATA[Sencha]]></category>
		<category><![CDATA[Sencha Architect 2]]></category>
		<category><![CDATA[Visual Studio 2012]]></category>
		<category><![CDATA[WebAPI]]></category>

		<guid isPermaLink="false">http://peterkellner.net/?p=3521</guid>
		<description><![CDATA[Three Part Series 
(Part 3)
&#160;



Building a Simple REST Controller with Microsoft Visual Studio 2012 and WebAPI


Using Sencha ExtJS 4.2 and Sencha Architect 2.2, Build a Simple REST client (to feed WebAPI server)


Add CRUD to REST client for calling Microsoft WebAPI server



&#160;
In the first two posts, we built a Microsoft WebAPI REST service, then we built [...]]]></description>
				<content:encoded><![CDATA[<h2>Three Part Series </h2>
<h3>(Part 3)</h3>
<p>&#160;</p>
<table cellspacing="20" cellpadding="2" width="400" border="1">
<tbody>
<tr>
<td valign="top" width="400"><a href="http://peterkellner.net/2013/03/13/building-a-simple-rest-controller-with-microsoft-visual-studio-2012-and-webapi/">Building a Simple REST Controller with Microsoft Visual Studio 2012 and WebAPI</a></td>
</tr>
<tr>
<td valign="top" width="400"><a href="http://peterkellner.net/2013/03/13/using-sencha-extjs-4-2-and-sencha-architect-2-2-build-a-simple-rest-client-to-feed-webapi-server/">Using Sencha ExtJS 4.2 and Sencha Architect 2.2, Build a Simple REST client (to feed WebAPI server)</a></td>
</tr>
<tr>
<td valign="top" width="400"><a href="http://peterkellner.net/2013/03/13/using-sencha-extjs-4-2-sencha-architect-2-2-add-crud-to-rest-client-for-calling-microsoft-webapi-server/">Add CRUD to REST client for calling Microsoft WebAPI server</a></td>
</tr>
</tbody>
</table>
<p>&#160;</p>
<p>In the first two posts, we built a <a href="http://www.microsoft.com/visualstudio/eng/office-dev-tools-for-visual-studio">Microsoft</a> <a href="http://www.asp.net/web-api">WebAPI</a> REST service, then we built the client side <a href="http://www.sencha.com/">ExtJS</a> app to process the GET request of the service (populate the grid panel), now let’s do the other 3 parts of CRUD (insert, update and delete).&#160; We will not build out the WebAPI side because that would involve adding some kind of persistent storage to the server (which is another topic I did not want to add to this post now, but maybe will later).</p>
<p>So, first, let us go back to the Sencha Architect project and make the “TagName” editable so that we can see the “Update” in action.&#160; We also need to add a save button to the toolbar that will simply so a store.sync() which will push the REST proxy into action once we have modified a TagName.</p>
<p>Without going through all the drag and drop, here is what needs to be done from Sencha Architect.</p>
<p>Add a toolbar to the Viewport</p>
<p>Put a “save” button on the Viewport</p>
<p>Add a click event handler to the “save” button and have the code grab a handle to the store and issue a sync() call when pressed</p>
<p>Add an editor to the text field “TagName” so we can edit that field</p>
<p>Add a CellEditing plugin to the grid</p>
<p>Now, that gives us this:</p>
<p><a href="http://petersblogcdn1.s3.amazonaws.com/wp/wp/wp-content/uploads/2013/03/image15.png"><img title="image" style="border-left-width: 0px; border-right-width: 0px; border-bottom-width: 0px; display: inline; border-top-width: 0px" border="0" alt="image" src="http://petersblogcdn1.s3.amazonaws.com/wp/wp/wp-content/uploads/2013/03/image_thumb13.png" width="414" height="462" /></a> </p>
<p>and it looks like:</p>
<p><a href="http://petersblogcdn1.s3.amazonaws.com/wp/wp/wp-content/uploads/2013/03/image16.png"><img title="image" style="border-left-width: 0px; border-right-width: 0px; border-bottom-width: 0px; display: inline; border-top-width: 0px" border="0" alt="image" src="http://petersblogcdn1.s3.amazonaws.com/wp/wp/wp-content/uploads/2013/03/image_thumb14.png" width="436" height="185" /></a> </p>
<p>Notice that I’ve actually clicked and edited the Tagname for item #3. You can tell because ExtJS puts the little red hat showing the field is edited.</p>
<p>If we press “Save” next we will get an error because the default WebAPI “Put” method does not have the correct signature.&#160; We just change it to take an instance of TagItem and now, when we press the “save” button, we see the browser do a PUT</p>
<p><a href="http://petersblogcdn1.s3.amazonaws.com/wp/wp/wp-content/uploads/2013/03/image17.png"><img title="image" style="border-left-width: 0px; border-right-width: 0px; border-bottom-width: 0px; display: inline; border-top-width: 0px" border="0" alt="image" src="http://petersblogcdn1.s3.amazonaws.com/wp/wp/wp-content/uploads/2013/03/image_thumb15.png" width="452" height="325" /></a> </p>
<p>&#160;</p>
<p>If we place a break point in the visual studio 2012 server code when the PUT is called, you will see the new value come in for tagName (as follows):</p>
<p><a href="http://petersblogcdn1.s3.amazonaws.com/wp/wp/wp-content/uploads/2013/03/image18.png"><img title="image" style="border-left-width: 0px; border-right-width: 0px; border-bottom-width: 0px; display: inline; border-top-width: 0px" border="0" alt="image" src="http://petersblogcdn1.s3.amazonaws.com/wp/wp/wp-content/uploads/2013/03/image_thumb16.png" width="476" height="229" /></a> </p>
<p>and, if you look at the browser shot above, you will see that the little red hat indicating “dirty” is now gone showing that we generated a clean update.</p>
<p>&#160;</p>
<p>On your own, you can now do the same for POST (Insert) and DELETE.&#160; The pattern is identical.&#160; Simply make the WebAPI parameter TagItem (like we did for update), then, add to the client a delete button that figures out what is the selected row on the Grid Panel (fire the button again), and for insert, create an add button that simply adds a new row to the store, edit it and fire the save button again.</p>
<p>Hope these posts help.&#160; I’m hoping this gives you a clear roadmap to build WebAPI / Sencha ExtJS applications using Microsoft’s WebAPI.</p>
]]></content:encoded>
			<wfw:commentRss>http://peterkellner.net/2013/03/13/using-sencha-extjs-4-2-sencha-architect-2-2-add-crud-to-rest-client-for-calling-microsoft-webapi-server/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
	</channel>
</rss>

<!-- Performance optimized by W3 Total Cache. Learn more: http://www.w3-edge.com/wordpress-plugins/

Page Caching using disk: enhanced (User agent is rejected)
Database Caching 25/100 queries in 0.039 seconds using disk
Content Delivery Network via Amazon Web Services: S3: petersblogcdn1.s3.amazonaws.com

 Served from: peterkellner.net @ 2013-05-19 07:10:42 by W3 Total Cache -->