<?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>JSEDLAK &#187; ASP.NET</title>
	<atom:link href="http://jsedlak.org/tag/aspnet/feed/" rel="self" type="application/rss+xml" />
	<link>http://jsedlak.org</link>
	<description></description>
	<lastBuildDate>Wed, 01 Sep 2010 00:44:02 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>Cache Problems with ASP.NET MVC Views?</title>
		<link>http://jsedlak.org/2010/04/27/cache-problems-with-asp-net-mvc-views/</link>
		<comments>http://jsedlak.org/2010/04/27/cache-problems-with-asp-net-mvc-views/#comments</comments>
		<pubDate>Tue, 27 Apr 2010 08:51:10 +0000</pubDate>
		<dc:creator>John Sedlak</dc:creator>
				<category><![CDATA[.NET]]></category>
		<category><![CDATA[ASP.NET]]></category>
		<category><![CDATA[Coding]]></category>
		<category><![CDATA[ASP.NET MVC]]></category>
		<category><![CDATA[ASP.NET MVC2]]></category>
		<category><![CDATA[Javascript]]></category>
		<category><![CDATA[MVC]]></category>

		<guid isPermaLink="false">http://jsedlak.org/?p=636</guid>
		<description><![CDATA[If you have done any decent amount of work with the ASP.NET MVC platform, you have probably run into the following problem. You have a page where you want to update data on the server without a postback and so you whip out some fancy Javascript to send a request to the server. What happens [...]]]></description>
			<content:encoded><![CDATA[<p>If you have done any decent amount of work with the ASP.NET MVC platform, you have probably run into the following problem. You have a page where you want to update data on the server without a postback and so you whip out some fancy Javascript to send a request to the server. What happens is the response you get back is a success, and the data is updated, but subsequent requests don&#8217;t seem to be updated. This is most noticeable with partial views and content views called via the infamous &#8220;$.ajax&#8221; call. What you forgot was to make sure the browser isn&#8217;t caching the result:</p>

<div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?"><span style="color: #99cc00">?</span></a></sup></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p636code2'); return false;">View Code</a> CHSARP</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table><tr id="p6362"><td class="line_numbers"><pre>1
</pre></td><td class="code" id="p636code2"><pre class="chsarp" style="font-family:monospace;">HttpContext.Response.AddHeader(&quot;cache-control&quot;, &quot;no-cache&quot;);</pre></td></tr></table></div>

<p>Note that if you have already hit the particular view and it is cached, you can generally clear the cache by navigating to the URI of the view manually and hitting refresh.</p>
]]></content:encoded>
			<wfw:commentRss>http://jsedlak.org/2010/04/27/cache-problems-with-asp-net-mvc-views/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Linking To CSS Files In MasterPages</title>
		<link>http://jsedlak.org/2010/01/22/linking-to-css-files-in-masterpages/</link>
		<comments>http://jsedlak.org/2010/01/22/linking-to-css-files-in-masterpages/#comments</comments>
		<pubDate>Fri, 22 Jan 2010 18:45:44 +0000</pubDate>
		<dc:creator>John Sedlak</dc:creator>
				<category><![CDATA[ASP.NET]]></category>
		<category><![CDATA[Coding]]></category>
		<category><![CDATA[ASP.NET MVC]]></category>
		<category><![CDATA[CSS]]></category>

		<guid isPermaLink="false">http://jsedlak.org/?p=562</guid>
		<description><![CDATA[A common problem for beginning ASP.NET developers is relative linking to CSS files in a MasterPage file. As it turns out, this is incredibly easy as shown below. Even better is that it works in ASP.NET MVC! ?View Code HTML1 &#60;link rel=&#34;Stylesheet&#34; href=&#34;&#60;%= ResolveUrl(&#34;css/Master.css&#34;) %&#62;&#34; type=&#34;text/css&#34; media=&#34;screen&#34; /&#62;]]></description>
			<content:encoded><![CDATA[<p>A common problem for beginning ASP.NET developers is relative linking to CSS files in a MasterPage file. As it turns out, this is incredibly easy as shown below. Even better is that it works in ASP.NET MVC!</p>

<div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?"><span style="color: #99cc00">?</span></a></sup></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p562code4'); return false;">View Code</a> HTML</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table><tr id="p5624"><td class="line_numbers"><pre>1
</pre></td><td class="code" id="p562code4"><pre class="html" style="font-family:monospace;">&lt;link rel=&quot;Stylesheet&quot; href=&quot;&lt;%= ResolveUrl(&quot;css/Master.css&quot;) %&gt;&quot; type=&quot;text/css&quot; media=&quot;screen&quot; /&gt;</pre></td></tr></table></div>

]]></content:encoded>
			<wfw:commentRss>http://jsedlak.org/2010/01/22/linking-to-css-files-in-masterpages/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Important .NET 4.0 News</title>
		<link>http://jsedlak.org/2009/08/27/important-net-40-news/</link>
		<comments>http://jsedlak.org/2009/08/27/important-net-40-news/#comments</comments>
		<pubDate>Thu, 27 Aug 2009 14:26:47 +0000</pubDate>
		<dc:creator>John Sedlak</dc:creator>
				<category><![CDATA[.NET]]></category>
		<category><![CDATA[ASP.NET]]></category>
		<category><![CDATA[Coding]]></category>
		<category><![CDATA[.NET 4.0]]></category>
		<category><![CDATA[C#]]></category>

		<guid isPermaLink="false">http://jsedlak.com/?p=196</guid>
		<description><![CDATA[Scott &#8220;Gu&#8221; (Guthrie) has started a series of posts about VS2010 and (more importantly) .NET 4.0, touting its new features that so far have been incredibly important for developers. It seems that Microsoft is finally &#8220;getting it&#8221; and listening to us about certain things. While most of you have already heard about the ability to [...]]]></description>
			<content:encoded><![CDATA[<p>Scott &#8220;Gu&#8221; (Guthrie) has started a <a href="http://weblogs.asp.net/scottgu/archive/2009/08/25/vs-2010-and-net-4-series.aspx">series of posts</a> about VS2010 and (more importantly) .NET 4.0, touting its new features that so far have been incredibly important for developers. It seems that Microsoft is finally &#8220;getting it&#8221; and listening to us about certain things.</p>
<p>While most of you have already heard about the ability to define Debug and Release web.config files, these two new features may put you over the edge in waiting for .NET 4.0 to release.</p>
<ul>
<li><a href="http://weblogs.asp.net/scottgu/archive/2009/08/25/clean-web-config-files-vs-2010-and-net-4-0-series.aspx">Clean Web.Config Files</a>
<p>Finally Microsoft has realized that while having configuration files that are verbose enough to support wild customizations, most of us do not need to change the default sections in the <i>web.config</i> file. So it should come as no surprise that clean configuration files will now be a thing of the (recent) past. It is just a shame it took so long to get.</p>
</li>
<li><a href="http://weblogs.asp.net/scottgu/archive/2009/08/26/starter-project-templates-vs-2010-and-net-4-0-series.aspx">Control over Client Ids</a>
<p>Hidden in this post about new project templates and what looks to be the ASP.NET WebForms version of the ASP.NET MVC template is a bit about client ids for controls.</p>
<blockquote><p>All of the styles and content within the site are configured using CSS, and take advantage of some of the new features with Web Forms in ASP.NET 4 – including clean client-side “id” names (no more ctrl_ mangled names – ASP.NET 4 gives you complete control over the client id), and CSS based rendering instead of table based rendering for the built-in server controls.</p></blockquote>
<p>This, again, should come as no surprise as the mangled names can present problems for developers looking to write some quick javascript as well as those looking to simply clean up their HTML. Here&#8217;s to hoping that Microsoft cleans up its HTML in other places as well (SharePoint anyone?).</p>
</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://jsedlak.org/2009/08/27/important-net-40-news/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>IIS For Dummies: Allowing Anonymous Access!</title>
		<link>http://jsedlak.org/2009/08/24/ii-for-dummies-allowing-anonymous-access/</link>
		<comments>http://jsedlak.org/2009/08/24/ii-for-dummies-allowing-anonymous-access/#comments</comments>
		<pubDate>Mon, 24 Aug 2009 08:33:33 +0000</pubDate>
		<dc:creator>John Sedlak</dc:creator>
				<category><![CDATA[.NET]]></category>
		<category><![CDATA[ASP.NET]]></category>
		<category><![CDATA[Coding]]></category>
		<category><![CDATA[IIS]]></category>
		<category><![CDATA[MVC]]></category>
		<category><![CDATA[Windows Server]]></category>
		<category><![CDATA[X64]]></category>

		<guid isPermaLink="false">http://jsedlak.com/?p=195</guid>
		<description><![CDATA[Pro-tip for today: When attempting to create a website (I am using ASP.NET MVC 1.0) with IIS7 that allows anonymous users under an Active Directory domain it is imperative that you remember to give anonymous users read rights to the web directory on the system&#8217;s physical file system. Otherwise you could end up with pages [...]]]></description>
			<content:encoded><![CDATA[<p>Pro-tip for today: When attempting to create a website (I am using ASP.NET MVC 1.0) with IIS7 that allows anonymous users under an Active Directory domain it is imperative that you remember to give anonymous users read rights to the web directory on the system&#8217;s physical file system. Otherwise you could end up with pages that do not load the CSS correctly.</p>
<p>Furthermore, if you are running into assembly load problems when running on Windows Server 2008 R2 remember that everything is running in X64 and that you need to enable 32-bit compatibility in your Application Pools. To do this select the App Pool and click &#8220;Advanced Settings&#8221; and set &#8220;Enable 32-Bit Applications&#8221; to true.</p>
]]></content:encoded>
			<wfw:commentRss>http://jsedlak.org/2009/08/24/ii-for-dummies-allowing-anonymous-access/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Imploding Versus Exploding Installations</title>
		<link>http://jsedlak.org/2009/04/19/imploding-versus-exploding-installations/</link>
		<comments>http://jsedlak.org/2009/04/19/imploding-versus-exploding-installations/#comments</comments>
		<pubDate>Mon, 20 Apr 2009 01:15:11 +0000</pubDate>
		<dc:creator>John Sedlak</dc:creator>
				<category><![CDATA[.NET]]></category>
		<category><![CDATA[ASP.NET]]></category>
		<category><![CDATA[Coding]]></category>
		<category><![CDATA[ASP.NET MVC]]></category>
		<category><![CDATA[FGF]]></category>
		<category><![CDATA[Web CMS]]></category>

		<guid isPermaLink="false">http://jsedlak.com/?p=178</guid>
		<description><![CDATA[One of the major design decisions for Vodka 2.0 has been how to handle the installation of all the software necessary to run a site. At first I favored a desktop application based install since it would allow me to write in normal .NET code without any problems or hurdles that the web presents. The [...]]]></description>
			<content:encoded><![CDATA[<p>One of the major design decisions for Vodka 2.0 has been how to handle the installation of all the software necessary to run a site. At first I favored a desktop application based install since it would allow me to write in normal .NET code without any problems or hurdles that the web presents. The problem with this idea is that a desktop based install isn&#8217;t feasible for most people, certainly not for those on shared hosting.</p>
<p>A client application based installation is what I call an <b>Exploding Installation</b> because it takes a package and pushes files out of it onto the file system. Thus it is exploding itself onto the computer. This works really well for most cases, especially basic software installs like games, office applications, et cetera.</p>
<p>Where such an explosion doesn&#8217;t work well is for web based installations, which is where Vodka 2.0 is headed (see screenshot below). This is due to the fact that in most cases the average user isn&#8217;t able to set up the server in a way to make it work, or doesn&#8217;t want to. Originally the installation procedure was going to be based on an explosion: the user would upload the files, put in the site information (see screenshot below) and then the installation would unpackage the files necessary to run the site based on the information. This would work very well, except it leaves the original install files at the root directory of the server. Instead of this approach, an <b>Imploding Installation</b> does the trick because it not only erases over the install files themselves (big security bonus), it doesn&#8217;t require any work to setup. The goal here is to have the user upload the files, run the install and get to work creating content.</p>
<div style="text-align:center;"><a href="http://focusedgames.com/images/screenshots/vodka/vodka_001.png"><img src="http://focusedgames.com/images/screenshots/vodka/vodka_001_m.png" alt="Vodka 2.0 Install"/></a></div>
<p>So how is this done? To support an implosion of the software, or rather a rewrite of key points of it the software needs to be modular in such a way that programmatic writes can be done over content areas. In the case of the Vodka install the site&#8217;s navigation needs to be rewritten and because it is based on <a href="http://asp.net/mvc">ASP.NET MVC</a> has to handle the shutdown and/or removal of the installation controller and views. Right now this is done by removing a simple text file from the server, although in the future it can be done by changing a portion of the web.config file and/or removing an extra &#8220;Install&#8221; library from the bin directory.</p>
<p>The best part about the implosion is that it is 100% clean. After an installation is completed, there is no evidence left that it ever took place, and no possible way for a user to rerun the installation.</p>
]]></content:encoded>
			<wfw:commentRss>http://jsedlak.org/2009/04/19/imploding-versus-exploding-installations/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Provider Model is Win</title>
		<link>http://jsedlak.org/2008/10/07/provider-model-is-win/</link>
		<comments>http://jsedlak.org/2008/10/07/provider-model-is-win/#comments</comments>
		<pubDate>Tue, 07 Oct 2008 06:28:40 +0000</pubDate>
		<dc:creator>John Sedlak</dc:creator>
				<category><![CDATA[.NET]]></category>
		<category><![CDATA[C#]]></category>
		<category><![CDATA[Coding]]></category>
		<category><![CDATA[ASP.NET]]></category>
		<category><![CDATA[Provider Model]]></category>
		<category><![CDATA[Web CMS]]></category>

		<guid isPermaLink="false">http://jsedlak.com/?p=105</guid>
		<description><![CDATA[The provider model’s goal is to allow for the abstraction of implementation to the nth degree by allowing for the choice between separate implementations of the same functionality. This design pattern is incredibly common in Microsoft’s ASP.NET, especially in the realm of security. Developers can choose between different providers for membership, roles and authentication for [...]]]></description>
			<content:encoded><![CDATA[<p>The provider model’s goal is to allow for the abstraction of implementation to the n<sup>th</sup> degree by allowing for the choice between separate implementations of the same functionality. This design pattern is incredibly common in Microsoft’s ASP.NET, especially in the realm of security. Developers can choose between different providers for membership, roles and authentication for a single site. The point is that the core functionality of the site does not change, only the implementation. Below is a quick snapshot of how such a model is used in Vodka.</p>
<p>The driving force behind the provider model is the abstraction of the implementation. This is done via an interface.</p>

<div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?"><span style="color: #99cc00">?</span></a></sup></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p105code8'); return false;">View Code</a> CSHARP</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table><tr id="p1058"><td class="line_numbers"><pre>1
2
3
</pre></td><td class="code" id="p105code8"><pre class="csharp" style="font-family:monospace;"><span style="color: #0600FF; font-weight: bold;">public</span> <span style="color: #6666cc; font-weight: bold;">interface</span> IAuthenticationProvider<span style="color: #008000;">&#123;</span>
	<span style="color: #6666cc; font-weight: bold;">bool</span> Authenticate<span style="color: #008000;">&#40;</span><span style="color: #6666cc; font-weight: bold;">string</span> username, <span style="color: #6666cc; font-weight: bold;">string</span> password<span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span>
<span style="color: #008000;">&#125;</span></pre></td></tr></table></div>

<p>What gives the provider model its meat and bones is the different implementations of the above interface. The two implementations below represent two authentication backends: an ActiveDirectory installation and an Sql database. Although the meat has been stripped from these two classes, it is clear that their implementations would differ enough to have the two separate classes.<span id="more-105"></span></p>

<div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?"><span style="color: #99cc00">?</span></a></sup></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p105code9'); return false;">View Code</a> CSHARP</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table><tr id="p1059"><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
</pre></td><td class="code" id="p105code9"><pre class="csharp" style="font-family:monospace;"><span style="color: #0600FF; font-weight: bold;">public</span> <span style="color: #6666cc; font-weight: bold;">class</span> ActiveDirectoryAuthenticationProvider <span style="color: #008000;">:</span> IAuthenticationProvider<span style="color: #008000;">&#123;</span>
	<span style="color: #0600FF; font-weight: bold;">public</span> <span style="color: #6666cc; font-weight: bold;">bool</span> Authenticate<span style="color: #008000;">&#40;</span><span style="color: #6666cc; font-weight: bold;">string</span> username, <span style="color: #6666cc; font-weight: bold;">string</span> password<span style="color: #008000;">&#41;</span><span style="color: #008000;">&#123;</span>
		<span style="color: #008080; font-style: italic;">// Attempt to log user into AD.</span>
		<span style="color: #0600FF; font-weight: bold;">return</span> authTest<span style="color: #008000;">;</span>
	<span style="color: #008000;">&#125;</span>
<span style="color: #008000;">&#125;</span>
&nbsp;
<span style="color: #0600FF; font-weight: bold;">public</span> <span style="color: #6666cc; font-weight: bold;">class</span> SqlAuthenticationProvider <span style="color: #008000;">:</span> IAuthenticationProvider<span style="color: #008000;">&#123;</span>
	<span style="color: #0600FF; font-weight: bold;">public</span> <span style="color: #6666cc; font-weight: bold;">bool</span> Authenticate<span style="color: #008000;">&#40;</span><span style="color: #6666cc; font-weight: bold;">string</span> username, <span style="color: #6666cc; font-weight: bold;">string</span> password<span style="color: #008000;">&#41;</span><span style="color: #008000;">&#123;</span>
		<span style="color: #008080; font-style: italic;">// Validate credentials against the Sql DB.</span>
		<span style="color: #0600FF; font-weight: bold;">return</span> authTest<span style="color: #008000;">;</span>
	<span style="color: #008000;">&#125;</span>
<span style="color: #008000;">&#125;</span></pre></td></tr></table></div>

<p>Now that the implementation is abstracted from the functionality requirements, the provider model requires only a driver to use differing implementations. Below is a sample driver that simply uses each provider to authenticate a user. It is important to note that there is no code to be changed based on what backend (provider) is being used due to the use of the common interface.</p>

<div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?"><span style="color: #99cc00">?</span></a></sup></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p105code10'); return false;">View Code</a> CSHARP</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table><tr id="p10510"><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
</pre></td><td class="code" id="p105code10"><pre class="csharp" style="font-family:monospace;"><span style="color: #0600FF; font-weight: bold;">public</span> <span style="color: #6666cc; font-weight: bold;">class</span> Driver <span style="color: #008000;">&#123;</span>
	<span style="color: #0600FF; font-weight: bold;">public</span> Driver<span style="color: #008000;">&#40;</span>IAuthenticationProvider provider<span style="color: #008000;">&#41;</span><span style="color: #008000;">&#123;</span>
		<span style="color: #0600FF; font-weight: bold;">if</span><span style="color: #008000;">&#40;</span>provider<span style="color: #008000;">.</span><span style="color: #0000FF;">Authenticate</span><span style="color: #008000;">&#40;</span>“jsedlak”, “hello”<span style="color: #008000;">&#41;</span><span style="color: #008000;">&#41;</span>
			Console<span style="color: #008000;">.</span><span style="color: #0000FF;">WriteLine</span><span style="color: #008000;">&#40;</span>“You are authenticated<span style="color: #008000;">!</span>”<span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span>
	<span style="color: #008000;">&#125;</span>
&nbsp;
	<span style="color: #0600FF; font-weight: bold;">public</span> <span style="color: #0600FF; font-weight: bold;">static</span> <span style="color: #6666cc; font-weight: bold;">void</span> Main<span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">&#123;</span>
		Driver d1 <span style="color: #008000;">=</span> <span style="color: #008000;">new</span> Driver<span style="color: #008000;">&#40;</span><span style="color: #008000;">new</span> SqlAuthenticationProvider<span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span>
		Driver d2 <span style="color: #008000;">=</span> <span style="color: #008000;">new</span> Driver<span style="color: #008000;">&#40;</span><span style="color: #008000;">new</span> ActiveDirectoryAuthenticationProvider<span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span>
	<span style="color: #008000;">&#125;</span>
<span style="color: #008000;">&#125;</span></pre></td></tr></table></div>

<p>The above example is a simplified version of the provider models used in Vodka where Membership, Authentication and Roles have all been squeezed into one provider. The reason for this is to remove an unnecessary code complexity requirement of three different security providers. More often than not, the three are commonly found together in the backend anyways.</p>
]]></content:encoded>
			<wfw:commentRss>http://jsedlak.org/2008/10/07/provider-model-is-win/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Frustrations&#8230;</title>
		<link>http://jsedlak.org/2008/09/27/frustrations/</link>
		<comments>http://jsedlak.org/2008/09/27/frustrations/#comments</comments>
		<pubDate>Sat, 27 Sep 2008 19:19:11 +0000</pubDate>
		<dc:creator>John Sedlak</dc:creator>
				<category><![CDATA[.NET]]></category>
		<category><![CDATA[C#]]></category>
		<category><![CDATA[Coding]]></category>
		<category><![CDATA[ASP.NET]]></category>
		<category><![CDATA[ComponentArt]]></category>
		<category><![CDATA[FGDN]]></category>

		<guid isPermaLink="false">http://jsedlak.com/?p=99</guid>
		<description><![CDATA[Ugh. It frustrates me how some companies can leave out even the most basic of functionality, like disabling the editing engine so you can edit XML straight like the following shows:]]></description>
			<content:encoded><![CDATA[<p>Ugh. It frustrates me how some companies can leave out even the most basic of functionality, like disabling the editing engine so you can edit XML straight like the following shows:</p>
<div style="text-align:center;"><a href='http://jsedlak.com/wp-content/uploads/2008/09/vodka_fgdn.jpg'><img src="http://jsedlak.com/wp-content/uploads/2008/09/vodka_fgdn-300x188.jpg" alt="FGDN" title="FGDN" width="300" height="188" class="alignnone size-medium wp-image-100" /></a></div>
]]></content:encoded>
			<wfw:commentRss>http://jsedlak.org/2008/09/27/frustrations/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Senior Project</title>
		<link>http://jsedlak.org/2008/09/25/senior-project/</link>
		<comments>http://jsedlak.org/2008/09/25/senior-project/#comments</comments>
		<pubDate>Thu, 25 Sep 2008 17:11:16 +0000</pubDate>
		<dc:creator>John Sedlak</dc:creator>
				<category><![CDATA[.NET]]></category>
		<category><![CDATA[C#]]></category>
		<category><![CDATA[Coding]]></category>
		<category><![CDATA[ASP.NET]]></category>
		<category><![CDATA[FGDN]]></category>
		<category><![CDATA[FGF]]></category>
		<category><![CDATA[SVN]]></category>
		<category><![CDATA[WCF]]></category>
		<category><![CDATA[Web CMS]]></category>

		<guid isPermaLink="false">http://jsedlak.com/?p=98</guid>
		<description><![CDATA[My senior project involves the study of highly extendible systems for the internet, mainly content management systems/solutions. I am building mine in ASP.NET 3.5 on WS2008, SQL2008 and .NET 3.5 (which includes WCF). The goal is to build a system that has plug-and-play services and is both quick and easy to use. Today I got [...]]]></description>
			<content:encoded><![CDATA[<p>My senior project involves the study of highly extendible systems for the internet, mainly content management systems/solutions. I am building mine in ASP.NET 3.5 on WS2008, SQL2008 and .NET 3.5 (which includes WCF). The goal is to build a system that has plug-and-play services and is both quick and easy to use. Today I got the very first part of this system up and running and can be reached at <a href="http://jsedlak.homedns.org:6666/Default.aspx">jsedlak.homedns.org</a>.</p>
<p>There is a lot of work to be done, but the base code (being built into FGF) is coming along very nicely. Once I can figure out security, the project should simply expand exponentially provided I have the time (ugh!). The two main [sub]projects here are FGDN (Focused Games Developer Network) and a simple CMS similar to that of WordPress, SharePoint, et al. The first is designed to allow users to submit bugs, feature requests, etc. easily much like Microsoft&#8217;s <a href="http://connect.microsoft.com">Connect</a>. The latter is pretty self explanatory.</p>
<p>Because I am building this all as one interconnected solution, I have also started working on the idea that users that exist in Vodka [may] have access to many other parts of Focused Games. Primarily this means FGDN but also the SVN repositories. A user (you) can apply for access to one or more of the repositories I currently use for my source code. Once you are accepted, you are also connected to any other Vodka service I create. Pretty nifty, eh?</p>
]]></content:encoded>
			<wfw:commentRss>http://jsedlak.org/2008/09/25/senior-project/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Hosting A Page Inside A SharePoint Page</title>
		<link>http://jsedlak.org/2008/05/28/hosting-a-page-inside-a-sharepoint-page/</link>
		<comments>http://jsedlak.org/2008/05/28/hosting-a-page-inside-a-sharepoint-page/#comments</comments>
		<pubDate>Wed, 28 May 2008 23:54:01 +0000</pubDate>
		<dc:creator>John Sedlak</dc:creator>
				<category><![CDATA[.NET]]></category>
		<category><![CDATA[C#]]></category>
		<category><![CDATA[Coding]]></category>
		<category><![CDATA[SharePoint]]></category>
		<category><![CDATA[ASP.NET]]></category>

		<guid isPermaLink="false">http://jsedlak.com/?p=19</guid>
		<description><![CDATA[One of the tasks I had recently was to get not only a web page into a SharePoint page but also pass in parameters from the Query String. Let&#8217;s say I am going to create the page at http://localhost/sharepoint/mypage.aspx in a normal way. In order to host a page inside that SharePoint page, we can [...]]]></description>
			<content:encoded><![CDATA[<p>One of the tasks I had recently was to get not only a web page into a SharePoint page but also pass in parameters from the Query String. Let&#8217;s say I am going to create the page at http://localhost/sharepoint/mypage.aspx in a normal way. In order to host a page inside that SharePoint page, we can use a Page Viewer Web Part, but this limits what can be done. Instead, we can create a custom web part to do the work&#8230;</p>
<div style="text-decoration: line-through;">Please excuse me if the code isn&#8217;t exactly correct. I do not have the code in front of me right now and will update it when I do.</div>
<p><br/></p>

<div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?"><span style="color: #99cc00">?</span></a></sup></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p19code12'); return false;">View Code</a> CSHARP</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table><tr id="p1912"><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
</pre></td><td class="code" id="p19code12"><pre class="csharp" style="font-family:monospace;"><span style="color: #0600FF; font-weight: bold;">public</span> <span style="color: #6666cc; font-weight: bold;">class</span> CustomWebPart <span style="color: #008000;">:</span> WebPart <span style="color: #008000;">&#123;</span>
    <span style="color: #0600FF; font-weight: bold;">public</span> <span style="color: #0600FF; font-weight: bold;">override</span> <span style="color: #6666cc; font-weight: bold;">void</span> Render<span style="color: #008000;">&#40;</span>HtmlTextWriter writer<span style="color: #008000;">&#41;</span><span style="color: #008000;">&#123;</span>
        <span style="color: #6666cc; font-weight: bold;">string</span> rawUrl <span style="color: #008000;">=</span> Context<span style="color: #008000;">.</span><span style="color: #0000FF;">Request</span><span style="color: #008000;">.</span><span style="color: #0000FF;">Url</span><span style="color: #008000;">.</span><span style="color: #0000FF;">OriginalString</span><span style="color: #008000;">;</span>
        <span style="color: #6666cc; font-weight: bold;">int</span> index <span style="color: #008000;">=</span> rawUrl<span style="color: #008000;">.</span><span style="color: #0000FF;">IndexOf</span><span style="color: #008000;">&#40;</span><span style="color: #666666;">&quot;?&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span>
&nbsp;
        <span style="color: #6666cc; font-weight: bold;">string</span> query <span style="color: #008000;">=</span> <span style="color: #6666cc; font-weight: bold;">String</span><span style="color: #008000;">.</span><span style="color: #0000FF;">Empty</span><span style="color: #008000;">;</span>
        <span style="color: #0600FF; font-weight: bold;">if</span><span style="color: #008000;">&#40;</span>index <span style="color: #008000;">!=</span> <span style="color: #008000;">-</span><span style="color: #FF0000;">1</span><span style="color: #008000;">&#41;</span> query <span style="color: #008000;">=</span> rawUrl<span style="color: #008000;">.</span><span style="color: #0000FF;">Substring</span><span style="color: #008000;">&#40;</span>index<span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span>
&nbsp;
        writer<span style="color: #008000;">.</span><span style="color: #0000FF;">Write</span><span style="color: #008000;">&#40;</span>
            <span style="color: #666666;">&quot;&lt;iframe src='http://localhost/sharepoint/myOtherPage.aspx&quot;</span> <span style="color: #008000;">+</span> query <span style="color: #008000;">+</span> <span style="color: #666666;">&quot;' width='100%' height='765px'/&gt;&quot;</span>
        <span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span>
    <span style="color: #008000;">&#125;</span>
<span style="color: #008000;">&#125;</span></pre></td></tr></table></div>

]]></content:encoded>
			<wfw:commentRss>http://jsedlak.org/2008/05/28/hosting-a-page-inside-a-sharepoint-page/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>I Do Not Understand The Difference&#8230;</title>
		<link>http://jsedlak.org/2008/05/27/i-do-not-understand-the-difference/</link>
		<comments>http://jsedlak.org/2008/05/27/i-do-not-understand-the-difference/#comments</comments>
		<pubDate>Wed, 28 May 2008 00:09:36 +0000</pubDate>
		<dc:creator>John Sedlak</dc:creator>
				<category><![CDATA[Coding]]></category>
		<category><![CDATA[General]]></category>
		<category><![CDATA[ASP.NET]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Web Hosting]]></category>

		<guid isPermaLink="false">http://jsedlak.com/?p=15</guid>
		<description><![CDATA[I do not understand why the difference between ASP.NET and PHP hosting is so gigantic. They are completely different beasts and I understand that most if not all hosts running ASP.NET are using Windows Server to do so, but why are the packages and reliability so different? It doesn&#8217;t make sense to me that on [...]]]></description>
			<content:encoded><![CDATA[<p>I do not understand why the difference between ASP.NET and PHP hosting is so gigantic. They are completely different beasts and I understand that most if not all hosts running ASP.NET are using Windows Server to do so, but why are the packages and reliability so different? It doesn&#8217;t make sense to me that on a PHP host you can get the same reliability as an ASP.NET host for the same price with one major difference: the PHP host gives you gobs of bandwidth and space. Here are some hosts and what I have experienced so far (from worst to best)&#8230;</p>
<p><a href="http://webhost4life.com">WebHost4Life</a><br />
<i>ASP.NET, PHP, etc. and Unlimited Bandwidth</i><br />
WebHost4Life was one of my first ASP.NET hosts and was used largely because I could run PHP alongside my normal web apps. This is a huge plus since I run a PHP-based forum and did not want to force my users to recreate their users, et cetera. So what was the problem with WebHost4Life? Daily downtime of an hour or more at roughly 2AM GMT -5 due to the AppPool being reset. This is completely unecessary and about the worse thing a host could ever do, especially when claiming 99% reliability.</p>
<p><a href="http://bluehost.com">BlueHost</a><br />
<i>PHP, unlimited everything</i><br />
BlueHost was my first real host and I have had my account for over two years now. What can I say about them other than they are amazing, especially for Shared hosting. I am running three sites on them now and am having no problems so far with scalability. But because accounts are so cheap compared to ASP.NET hosts, I can easily buy a second or a third if need be. Only problem? The CEO has told me in a private e-mail that he will never support ASP.NET on BlueHost, ever. Saddening because they could do great things for the ASP.NET world.</p>
<p><a href="http://reliablesite.net">Reliable Site</a><br />
<i>ASP.NET, PHP</i><br />
Reliable Site has been a great host for me up until recently. They were always great on support and always willing to help me out. Reliability was top notch: I didn&#8217;t experience a single second of downtime on my Clustered account, even when hosting four sites. The problem? They expect you to pay $8 a month for a mere 40gb of extra bandwidth on a rolling schedule. That means that bandwidth isn&#8217;t calculated per month but per last 30 days. This may be nice if you have consistent days, but spikes can ruin your bandwidth for 30 days. You have no chance of timing a release for the last 2-3 days of a month because it won&#8217;t matter.</p>
<p>I have experienced other hosts but they really aren&#8217;t worth mentioning. I just wish I could find a host that did what ReliableSite does but was easier on the bandwidth pricing. Especially when <a href="http://dreamhost.com">DreamHost</a>, BlueHost and several others offer 5tb and more of bandwidth per month for less money.</p>
]]></content:encoded>
			<wfw:commentRss>http://jsedlak.org/2008/05/27/i-do-not-understand-the-difference/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>
