<?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>3rd bit Tech Blog</title>
	<atom:link href="http://www.3rdbit.com/?feed=rss2" rel="self" type="application/rss+xml" />
	<link>http://www.3rdbit.com</link>
	<description>The bit that does all the work.</description>
	<lastBuildDate>Wed, 17 Mar 2010 04:30:18 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>How Adobe can get Flash onto the iPhone and beat Apple at its own game</title>
		<link>http://www.3rdbit.com/?p=75</link>
		<comments>http://www.3rdbit.com/?p=75#comments</comments>
		<pubDate>Wed, 17 Mar 2010 03:38:21 +0000</pubDate>
		<dc:creator>Brandon Giromini</dc:creator>
				<category><![CDATA[Apple]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[iphone]]></category>

		<guid isPermaLink="false">http://www.3rdbit.com/?p=75</guid>
		<description><![CDATA[So everyone is aware of the &#8220;fued&#8221; between Apple and Adobe regarding Flash&#8217;s absence on the iPhone and now iPad. Currently as it stands the only way to get Flash applications to run on the iPhone you have to use Adobe Flash Professional CS5( still in beta as of this post) and export the file [...]]]></description>
			<content:encoded><![CDATA[<p>So everyone is aware of the &#8220;fued&#8221; between Apple and Adobe regarding Flash&#8217;s absence on the iPhone and now iPad. Currently as it stands the only way to get Flash applications to run on the iPhone you have to use Adobe Flash Professional CS5( still in beta as of this post) and export the file as a native app, and then follow Apple&#8217;s normal app store submission guidelines. But I have a plan to get Flash onto the iPhone without having to convert existing apps&#8230;</p>
<p><strong>Create an iPhone browser app based off of Webkit that natively plays Flash content.</strong> I did some research, and there are currently several browser apps available, for example <a href="http://itunes.apple.com/us/app/icab-mobile-web-browser/id308111628?mt=8">iCab Mobile</a>. Obviously they would have to handle flash content natively rather than really on a 3rd party plugin.  They would have to come out with a solid product with features to differentiate itself sufficiently from Mobile Safari but I think it would also get some good press for Adobe if they do it right AND can make Apple look like the fool! What do you think?</p>
<p>P.S. Let me say something about battery life. I have a 3rd gen iPod Touch 32GB. My wife can surf the internet for hours on that thing but 15-20 minutes of playing Finger Physics brings up the dreaded 20% battery life warning. So why is it I can consume large amounts of battery in such of short amount of time with an iPhone app, but Steve Jobs won&#8217;t allow me to waste the same amount of battery life playing Flash content online?</p>
]]></content:encoded>
			<wfw:commentRss>http://www.3rdbit.com/?feed=rss2&amp;p=75</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Don&#8217;t Get Stuck in Your Stack</title>
		<link>http://www.3rdbit.com/?p=49</link>
		<comments>http://www.3rdbit.com/?p=49#comments</comments>
		<pubDate>Thu, 04 Feb 2010 04:01:02 +0000</pubDate>
		<dc:creator>Phillip Hall</dc:creator>
				<category><![CDATA[Strategy]]></category>
		<category><![CDATA[Best Practices]]></category>
		<category><![CDATA[linkedin]]></category>
		<category><![CDATA[Open Source]]></category>
		<category><![CDATA[Skill Building]]></category>
		<category><![CDATA[Solutions Architecture]]></category>
		<category><![CDATA[Technology Stacks]]></category>

		<guid isPermaLink="false">http://www.3rdbit.com/?p=49</guid>
		<description><![CDATA[Stuck in your stack?  Here's some helpful ways for you to break free and experience the freedom that best in class solutions can provide.]]></description>
			<content:encoded><![CDATA[<p>Stuck in your stack? Here&#8217;s some helpful ways for you to break free and experience the freedom that best in class, <em>out-of-stack</em> solutions can provide.</p>
<p>I have felt the feelings you feel, closed in, cornered, you have a need and there&#8217;s a hole in your technology stack and you just don&#8217;t know what to do. Or worse, it&#8217;s not exactly a hole, but your stack doesn&#8217;t really provide the solution that you&#8217;d like but you feel compelled to use it anyway since it&#8217;s what you know.  Or even worse than worse, you&#8217;re damning the torpedoes and sticking to your stack because you&#8217;ve drank so much kool-aide that you can&#8217;t help yourself.</p>
<p>Many of us are stack-oriented, we have devoted ourselves to a range of sometimes vendor-specific technologies and we spend our time developing those skills and avoiding others that pretty much do the same thing.  Case and point &#8211; PHP and ASP.Net &#8211; both are server side scripting technologies used to develop web applications; both can be used as a platform to develop RIAs (rich internet applications) using AJAX, FLASH or SilverLight technology and both require a relatively high level of experience and skill to employ successfully.</p>
<p>You may write an ASP.NET mailer in C# using System.Net.SmtpClient and it might look something like this:</p>
<pre class="brush: c#">SmtpClient mailer = new SmtpClient(&quot;mail.somemailhost.com&quot;);

mailer.Send(&quot;me@3rdbit.com&quot;, &quot;you@yoursite.com&quot;, &quot;Yeti Alert&quot;, &quot;The Yetis are upon you - flee in terror!&quot;);</pre>
<p>You&#8217;re open source, free love, hippy PHP-using counterpart might use the mail()  method and do it like this:</p>
<pre class="brush: php">&lt;?php

mail(&#039;you@yoursite.com&#039;, &#039;Yeti Alert&#039;, &#039;The Yetis are upon you - flee in terror!&#039;, $headers);

?&gt;</pre>
<p>  (pretend that $headers contains the from address)</p>
<p>Both languages are accomplishing the same thing, an email will go out saving someone&#8217;s life from an advancing Yeti horde &#8211; which, as anyone from Nepal will tell you, is something worth doing.  </p>
<p>I&#8217;m not suggesting that there is no difference between PHP and ASP.NET, I&#8217;m not advocating that you should use one or the other, I&#8217;m just pointing out that two very different tools can be used use to accomplish the same task.  The tools you use will be defined by your chosen technology stack and I&#8217;m confident that a Yeti warning system developed using either stack would be successful in saving lives.</p>
<p><strong>There&#8217;s nothing wrong with that!</strong></p>
<p>Being stack oriented is a good thing.  You can&#8217;t be good at everything and you shouldn&#8217;t try to split your time becoming familiar with everything.  You&#8217;ll end up knowing a little about alot of things and you won&#8217;t be the expert in any.  You&#8217;ll be that person at the party who&#8217;s heard of that book, saw that preview, read half of that article and almost took that trip.</p>
<p>Choose your weapons wisely, master them and make sure you&#8217;re always adding 1 or 2 new weapons gradually.   Stack orientation helps you direct your efforts toward technologies that can be used together to create solutions that any one of them can&#8217;t alone.  Certainly the weapons you choose don&#8217;t have to be from the same stack though it is often convenient.   Certain stacks work and mesh well together and knowing a combination of them can be a real advantage.</p>
<p>(I will say that if you&#8217;re the one developer who can master ASP.NET (VB/C#), JSP, PHP, RUBY, PERL, Python, etc&#8230;  Let me know who you are so I can get with all the other mortals and erect a statue in your honor.)</p>
<p><strong>It&#8217;s Good, but don&#8217;t get Stuck</strong></p>
<p>While it&#8217;s good to have your technology roadmap defined don&#8217;t be afraid to step outside your stack for solutions, especially if they&#8217;re clearly better than what you&#8217;ve got to work with.  There&#8217;s alot of kool-aide drinkers out there who spend a lot of extra time forcing a known-skill or product into a solution and end up either frustrated or with something that sortive, almost solves the problem at hand. </p>
<p><em>Example 1, Lego Starship</em></p>
<p>I used to work with an Oracle forms based ERP system that became &#8220;web-enabled&#8221;.  My job existed solely to create applications that plugged holes in the ERP&#8217;s functionality/feature set or to create solutions that the ERP was years away from natively.  The developers of  the ERP chose to use <a href="http://download.oracle.com/docs/cd/B19306_01/appdev.102/b14251/adfns_psp.htm#BHAEBABI" target="_blank">PL/SQL Pages </a>to web-enable the product.  (That&#8217;s alot like trying to build an interstellar spacecraft out of legos).  PL/SQL Pages was a valid tool in their stack, but they were stuck in their stack and avoided a few other options that could have made their product ALOT more agile, user friendly, maintainable, etc&#8230;  As a result of that choice (and others like it) the inability of the application to keep of with my company&#8217;s needs forced us to move on.  Though, certainly in this example, these developers were not only stuck in their stack, they were stuck with an aging skill-set.  Don&#8217;t do that either &#8211; Learn or Die!</p>
<p><em>Example 2, Me and Source Control</em></p>
<p>As a Microsoft-stack-oriented developer I too was stuck in my stack when it came to source control.  For years I was using Visual Source Safe for all my source control needs and man was I frustrated.  I couldn&#8217;t concurrently work on a file that was checked out by one of my developers, branching and merging was practically non-existent, there was no LDAP integration for security, no native file format storage and it was as slow as Christmas over VPN.  Heck it was just slow in general.</p>
<p>Then I learned about <a href="http://subversion.apache.org/" target="_blank">Subversion</a> and <a href="http://www.visualsvn.com/" target="_blank">VisualSVN</a>.   Talking about the features of each is out of the scope of this post (follow those links for more intel). </p>
<p>Here was an out-of-stack solution for source control that was clearly a better solution for my team than VSS and it was open source, practically free and ran on Apache!  Shutter &#8211; an MS dev group using SVN &#8211; watch out for the pitch-forks and torches of the Microsoft Technology Evangelists! </p>
<p>I soon learned that this particular combination of stacks is actually quite common.  I had stepped out of my stack for a better solution and have never been happier with source control.</p>
<p><strong>Step our of your Stack if the Out-Of-Stack Solution is Better</strong></p>
<p>Don&#8217;t be afraid to step out of your stack if another stack has a ready-made solution that you can use.  I challenge every VSS user to compare VSS to SVN.  Get over the fact that it requires an apache server &#8211; you can run that on Windows Server and VisualSVN gives you an installer that sets everything up &#8211; it couldn&#8217;t be easier.  (I&#8217;d recommend installing it on a VM, but that&#8217;s a post for another day)</p>
<p>Step away from the kool-aide and find the best in class solution that meets your needs and fits into your paradigm.  Don&#8217;t go out and install a bunch of Linux servers in your windows server farm just so you can run Apache for SVN.  Your windows server admins don&#8217;t really know Linux and you don&#8217;t want to have to manage the server.  Likewise, don&#8217;t run out and install MONO on your linux box just so you can develop in .NET from a LAMP environment.  If you&#8217;re going to develop .NET, buy a Windows Server license, run IIS and do it right.</p>
<p>Use common sense, some stack-combinations work great &#8211; if you&#8217;d like to develop in .NET and use MySql or Oracle as a DB, do it &#8211; it works, I&#8217;ve done it and had great results.  Find those combos that make sense and that don&#8217;t break your paradigm and work them in.</p>
<p><em>Example 3, Me and this Blog Engine</em></p>
<p>Yes, as you read these words you are witnessing another out of stack solution that has made me very happy.  This blog engine, WordPress, is built on the LAMP stack, there&#8217;s no MS tech anywhere yet it&#8217;s fantastic and I rave about it.  I don&#8217;t need it to fit into my development paradigm because I have no desire to extend it or change it.  There are lots of ready-made plugins that do the things that I want a blog engine to do.  The mail source code you see above, for example, is formatted by a plugin written for WordPress that implements an open source JavaScript formatting engine that was written by a Russian guy I&#8217;ve never met.  (Which is good cause Russian programmers are scary).  All I had to do was upload a few files and put a single tag around the code &#8211; awesome!</p>
<p>I could have spent a lot of time and effort finding a .NET blog engine so I could feel comfortable in the knowledge that if I ever needed to hack the engine I could &#8211; though really &#8211; I&#8217;m not concerned about that.  I&#8217;m busy -  I&#8217;d rather spend my time working on projects that I feel are important to me and blog engines is not one of them. </p>
<p><strong>That&#8217;s it &#8211; Your Turn</strong></p>
<p>I challenge you to review your stack, your tools and the solutions you&#8217;ve implemented and look for weaknesses.  If you find one then perhaps there&#8217;s an out-of-stack solution out there than you can take advantage of that you may have overlooked before.  I did and I&#8217;ve been very happy with the solutions and tools that I&#8217;ve found that have enabled me to do things better than I could have on my own by sticking to my stack.</p>
<p>Happy Programming and remember, <em><strong><span style="font-family: mceinline;">Don&#8217;t Get Stuck in Your Stack!</span></strong></em></p>
]]></content:encoded>
			<wfw:commentRss>http://www.3rdbit.com/?feed=rss2&amp;p=49</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>How Adobe Flex won me over AJAX</title>
		<link>http://www.3rdbit.com/?p=16</link>
		<comments>http://www.3rdbit.com/?p=16#comments</comments>
		<pubDate>Tue, 02 Feb 2010 18:12:58 +0000</pubDate>
		<dc:creator>Brandon Giromini</dc:creator>
				<category><![CDATA[AJAX]]></category>
		<category><![CDATA[Flex]]></category>

		<guid isPermaLink="false">http://www.3rdbit.com/?p=16</guid>
		<description><![CDATA[I will admit my opinion is a little late  in regard to the  battle over Flex vs. AJAX debate but I thought my experience may be helpful to other developers who may face the same dilemma.
First, I will  still use AJAX when I develop VB.NET web applications because I think it offers  nice enhancements like [...]]]></description>
			<content:encoded><![CDATA[<p>I will admit my opinion is a little late  in regard to the  battle over Flex vs. AJAX debate but I thought my experience may be helpful to other developers who may face the same dilemma.</p>
<p>First, I will  still use AJAX when I develop VB.NET web applications because I think it offers  nice enhancements like no full page post backs and other general UI enhancements. So when I was needing a tool to do graphics manipulation my first thought was to look for an AJAX solution like <a title="jQueryUI" href="http://jqueryui.com/" target="_blank">jQueryUI</a> . I played with it for awhile and figured it could do the job. However, my boss loves Flash and he suggested I look into using Flash, which I had no real development experience other than playing with it for few hours back with Flash 4 some time ago. Now I am not a big anti-propriety solutions guy,  but I did come from a background of hand-coding CSS-designed sites which inevitably  led me to read sites that were big on standards and openness.  I was definitely hesitant to the say the least, because I believed Flash was best for videos and cool interfaces, but not serious application development. But then I met Flex, and that changed everything.</p>
<p><span id="more-16"></span>I like to describe Flex simply as a framework  built for developing web applications, while Flash is for building interactive content. With that out of the way, I would like to list my reasons why I chose to use Flex over AJAX.</p>
<ol>
<li><strong>Data persistence or viewstates . </strong>In general, I do not have to be concerned at all with postbacks or page refreshes in regard to variables and objects. I can create an object, assign it a value, and basically set in the corner so to speak until I need to use it later.  While building  a web application to be used with Oracle EBS last year,  I ran into AJAX issues in regard to viewstate and my boss would say that you just don&#8217;t have to worry about that stuff in Flash. Now I know why.</li>
<li><strong>Browser compatibility issues no more! </strong>Anyone doing CSS-based web design knows about browser compatibility issues. Gone are the days of being concerned about layouts looking the same  in disparate browsers, whatever you design in Flex is how it will display across all browsers. I can give a textbox component an X,Y coordinate and not have to worry about floats, positioning, clearing divs, etc.  This gives me more time to focus on the development of the application and less on presentation.</li>
<li><strong>Powerful Graphics API. </strong>This was a big deal for my project as I need to move objects around on the screen and resize them  among other things. This comes very natural in Flex in the drawing classes. With just a small bit a code I can even draw objects on the screen like in Photoshop and Illustrator.</li>
<li><strong>Webservices Support. </strong>Obviously AJAX wouldn&#8217;t be AJAX without xmhttprequest. However, I can communicate directly to a WSDL on another server, ( although there can be some issues with crossdomain files, which I have not had issues with yet.) This can&#8217;t be done without first interacting with a scripting language like PHP, ASP.NET, etc. In Flex Builder 3 they even provide a nice tool that will perform introspection over your webservice and create all the necessary classes for you. It is a very helpful tool if you don&#8217;t need to customize the webservice functionality.</li>
</ol>
<p>So those are some of the main reasons I chose Flex over AJAX. I still believe AJAX has its place but I  plan on focusing more of my development in Flex in the near future.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.3rdbit.com/?feed=rss2&amp;p=16</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>XSLT, Widgets and MailTo Links Oh MY!</title>
		<link>http://www.3rdbit.com/?p=29</link>
		<comments>http://www.3rdbit.com/?p=29#comments</comments>
		<pubDate>Mon, 01 Feb 2010 04:47:55 +0000</pubDate>
		<dc:creator>Phillip Hall</dc:creator>
				<category><![CDATA[.NET Development]]></category>
		<category><![CDATA[XSLT]]></category>

		<guid isPermaLink="false">http://www.3rdbit.com/?p=29</guid>
		<description><![CDATA[(Ok, so this&#8217;ll be short but it&#8217;s something that I had a mental hangup on the other day.  After I finally figured it out I thought &#8211; I should blog that&#8230;)
I&#8217;ve never really used XSLT as much as I should have been favoring instead to consume XML data using flash, however recently I&#8217;ve moved away [...]]]></description>
			<content:encoded><![CDATA[<p>(Ok, so this&#8217;ll be short but it&#8217;s something that I had a mental hangup on the other day.  After I finally figured it out I thought &#8211; I should blog that&#8230;)</p>
<p>I&#8217;ve never really used XSLT as much as I should have been favoring instead to consume XML data using flash, however recently I&#8217;ve moved away from a lot of what I was doing in flash in favor of using simple AJAX using the Microsoft AJAX Toolkit for nothing more than expediance of development, etc&#8230;  (I am by no means a proponent of AJAX over Flash or FLEX for RIA&#8217;s however that&#8217;s a blog for another day. Though yes, I am one of those developers who LOVES SWF content and thinks that AJAX is a day late and a dollar short.)</p>
<p>The other day I was working on an FLEX Based RIA that uses a .NET middle tier and I had the need for some XSLT magic.   </p>
<p>First, some background intel on the application just to set the mood. </p>
<p>The application is comprised of content pages that are comprised of widgets that are comprised of data items that are comprised of XML data.   Each widget has a type that defines how the data item&#8217;s XML data is rendered.  There are chart widgets, metric widges, table widgets and mixed content widgets &#8211; the Flex UI knows how to handle each type and renders itself accordingly.  Mixed content widgets are widgets that don&#8217;t have a defined set or style of content and are meant as catch-alls for any content not already handled by the other widget types. </p>
<p>Since the mixed contents are catch-alls and can potentially display anything I chose to use XSLT to render their data and since Flex can render a subset of standard HTML this works quite well.   (Though it would great if FLEX would natively support the full set of standard HTML &#8211; c&#8217;mon Adobe!)   When the web service receives a request from a data item an XML result packet containing the data to be  rendered is passed back.  Mixed content widget data is transformed inside the service and standard HTML is handed back in &lt;CDATA&gt; tags, Flex picks up the HTML and renders the widget &#8211; and whamo all is right with the world.</p>
<p>SO, all that to get to this.  I needed to hand back a MailTO: link as part of a result packet and the XSLT to create one was not what I expected.</p>
<pre class="brush: xslt">&lt;xsl:when test=&quot;EMAIL!= &#039;&#039;&quot;&gt;
            &lt;u&gt;
              &lt;a&gt;
                &lt;xsl:attribute name=&quot;href&quot;&gt;
                  mailto:&lt;xsl:value-of select=&quot;EMAIL&quot;/&gt;
                &lt;/xsl:attribute&gt;
                &lt;xsl:value-of select=&quot;USER_NAME&quot;/&gt;
              &lt;/a&gt;
            &lt;/u&gt;
&lt;/xsl:when&gt;</pre>
<p>The weird part for me was the following line:
<pre class="brush: xslt">&lt;xsl:attribute name=&quot;href&quot;&gt;</pre>
<p>I kept struggling with the quotes that would need to hug the href and value parts of the  mailto, however the solution ended up not being a matter of escaping quote characters &#8211; it was just a matter of using XSLT the way it wanted to be used.</p>
<p>So that was it, a small mental hangup that ended up having a simple solution that I thought might help someone else. </p>
<p>Happy coding!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.3rdbit.com/?feed=rss2&amp;p=29</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Web Service Authentication &#8211; Kerberos Style</title>
		<link>http://www.3rdbit.com/?p=20</link>
		<comments>http://www.3rdbit.com/?p=20#comments</comments>
		<pubDate>Fri, 14 Aug 2009 03:38:29 +0000</pubDate>
		<dc:creator>Phillip Hall</dc:creator>
				<category><![CDATA[.NET Development]]></category>
		<category><![CDATA[Web Services]]></category>
		<category><![CDATA[Authentication]]></category>
		<category><![CDATA[C#]]></category>

		<guid isPermaLink="false">http://www.3rdbit.com/?p=20</guid>
		<description><![CDATA[Ok, so this is not the blog post that talks about every possible way to athenticate to a .Net webservice &#8211; however &#8211; it is the blog post that tells you how to flow the current user&#8217;s credentials into your webservice.
The scenario where you might need to do this is relatively specific, here&#8217;s the specifics.

Your [...]]]></description>
			<content:encoded><![CDATA[<p>Ok, so this is not the blog post that talks about every possible way to athenticate to a .Net webservice &#8211; however &#8211; it is the blog post that tells you how to flow the current user&#8217;s credentials into your webservice.</p>
<p>The scenario where you might need to do this is relatively specific, here&#8217;s the specifics.</p>
<ul>
<li>Your WebService is being served from IIS using Integration Windows Authentication, IWA, Anonymous Access is turned off. </li>
<li>The client application is a .NET app will be served in the same way.</li>
<li>You want your service to treat the client as the current user, meaning, the client will make calls in the context of the current user.  (Perhaps you&#8217;re interested in continuing the flow of credentials down to your SQL Server or the file system and you want to ensure security inegrity based on the users rights and permissions) </li>
</ul>
<p>So here&#8217;s the Code in C#, this is the code on the client that is calling the service.</p>
<p style="padding-left: 30px;"><span style="font-size: x-small;">remoteService.<span style="font-size: x-small; color: #2b91af;"><span style="font-size: x-small; color: #2b91af;">Service1</span></span> service = </span><span style="font-size: x-small; color: #0000ff;"><span style="font-size: x-small; color: #0000ff;">new</span></span><span style="font-size: x-small;"> remoteService.</span><span style="font-size: x-small; color: #2b91af;"><span style="font-size: x-small; color: #2b91af;">Service1</span></span><span style="font-size: x-small;">();</span></p>
<p style="padding-left: 30px;"><span style="font-size: x-small;">service.Credentials =<span style="font-size: x-small; color: #2b91af;"><span style="font-size: x-small; color: #2b91af;">CredentialCache</span></span><span style="font-size: x-small;">.DefaultCredentials;</span></span></p>
<p>The first line instantiates an instance of your service.</p>
<p>The second line tells the service to use the Default Credentials stores in the Credential Cache.  These are the credentials of the current user in an IWA environment.</p>
<p><strong>One another thing, WebService Web.config updates&#8230;</strong></p>
<p>In the web.config of your service you need to set the authentication mode to <em>Windows.</em></p>
<p><span style="font-size: x-small; color: #0000ff;"><span style="font-size: x-small; color: #0000ff;"><span style="font-size: x-small; color: #0000ff;"><span style="font-size: x-small; color: #0000ff;">&lt;</span></span></span></span><span style="font-size: x-small; color: #a31515;"><span style="font-size: x-small; color: #a31515;">authentication</span></span><span style="font-size: x-small; color: #0000ff;"><span style="font-size: x-small; color: #0000ff;"> </span></span><span style="font-size: x-small; color: #ff0000;"><span style="font-size: x-small; color: #ff0000;">mode</span></span><span style="font-size: x-small; color: #0000ff;"><span style="font-size: x-small; color: #0000ff;">=</span></span><span style="font-size: x-small;">&#8220;</span><span style="font-size: x-small; color: #0000ff;"><span style="font-size: x-small; color: #0000ff;">Windows</span></span><span style="font-size: x-small;">&#8220;</span><span style="font-size: x-small; color: #0000ff;"><span style="font-size: x-small; color: #0000ff;">/&gt;</span></span></p>
<p>If you intend to continue the flow of user credentials down to another system on the other side of your service, you&#8217;ll need to set the <em>identity impersonate</em> attribute in the web.config to true.</p>
<p><span style="font-size: x-small; color: #0000ff;"><span style="font-size: x-small; color: #0000ff;"><span style="font-size: x-small; color: #0000ff;"><span style="font-size: x-small; color: #0000ff;">&lt;</span></span></span></span><span style="font-size: x-small; color: #a31515;"><span style="font-size: x-small; color: #a31515;">identity</span></span><span style="font-size: x-small; color: #0000ff;"><span style="font-size: x-small; color: #0000ff;"> </span></span><span style="font-size: x-small; color: #ff0000;"><span style="font-size: x-small; color: #ff0000;">impersonate</span></span><span style="font-size: x-small; color: #0000ff;"><span style="font-size: x-small; color: #0000ff;">=</span></span><span style="font-size: x-small;">&#8220;</span><span style="font-size: x-small; color: #0000ff;"><span style="font-size: x-small; color: #0000ff;">true</span></span><span style="font-size: x-small;">&#8220;</span><span style="font-size: x-small; color: #0000ff;"><span style="font-size: x-small; color: #0000ff;"> /&gt;</span></span></p>
<p>That&#8217;s it &#8211; not too bad at all, hope it helps!</p>
<p> </p>
<p> </p>
<p><span style="color: #808080;">&#8211; You&#8217;ve now come to the end of the post, close your web browser and go write some code.  May the 3rd bit be with you&#8230;</span></p>
]]></content:encoded>
			<wfw:commentRss>http://www.3rdbit.com/?feed=rss2&amp;p=20</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Web App within a Web App &#8211; Build an Onion!</title>
		<link>http://www.3rdbit.com/?p=3</link>
		<comments>http://www.3rdbit.com/?p=3#comments</comments>
		<pubDate>Sun, 05 Jul 2009 20:48:32 +0000</pubDate>
		<dc:creator>Phillip Hall</dc:creator>
				<category><![CDATA[.NET Development]]></category>
		<category><![CDATA[.NET]]></category>
		<category><![CDATA[Multiple Bin Folders]]></category>
		<category><![CDATA[Web.Config]]></category>

		<guid isPermaLink="false">http://3rdbit.com/?p=3</guid>
		<description><![CDATA[Sometimes you don&#8217;t always have total control of the web site or web application project you&#8217;re working with and you have a need to insert or extend the existing project.  Or perhaps you&#8217;ve inherited a project that was coded so horribly wrong you can&#8217;t easily make a needed update without first expending time you don&#8217;t [...]]]></description>
			<content:encoded><![CDATA[<p>Sometimes you don&#8217;t always have total control of the web site or web application project you&#8217;re working with and you have a need to insert or extend the existing project.  Or perhaps you&#8217;ve inherited a project that was coded so horribly wrong you can&#8217;t easily make a needed update without first expending time you don&#8217;t have doing .NET project triage.   (Such is the case many times when designers try to play application developer)</p>
<p>Or perhaps you&#8217;ve got a need to use some new .NET functionality within a project that you can&#8217;t upgrade.  IE, you need to do something using .NET 3.5 but the site you have to use is based on .NET 2.0.  </p>
<p>Looks like you may need to build an Onion &#8211; just add layers <img src='http://www.3rdbit.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Such was the case for me the other day.  I had a corporate .Net 2.0 website that was hosted on a domain that I needed to publish a 3.5 web application project to and I didn&#8217;t have the level of source control I needed to seamlessly nest my project within the existing project.  (The existing project also had some issues due to the way the developers manage their source however that is an article for another day)</p>
<p>Since I couldn&#8217;t nest my new project within the existing one I decided to create a new web app type project and publish to a new directory within the existing project.  I needed my new project to have it&#8217;s own web.config and bin directory.</p>
<p>This actually turned out to be quite easy, here&#8217;s what you do.</p>
<ol>
<li>Create your New Web Application Project</li>
<li>Modify your new web.config to play nice within it&#8217;s parent project
<ol>
<li>Comment out the <span style="color: #993300;"><span style="color: #000080;">&lt;</span>configSections<span style="color: #000080;">&gt;</span></span> element.  If you leave this element in you&#8217;ll get some fun errors about settings already being specified.  Why?  Because the parent web.config likely already has a <span style="color: #993300;"><span style="color: #000080;">&lt;</span>configSections<span style="color: #000080;">&gt;</span></span> element.
<ol>
<li>If you&#8217;d like to read about <span style="color: #993300;"><span style="color: #000080;">&lt;</span>configSections<span style="color: #000080;">&gt;</span></span> check out the <a href="http://msdn.microsoft.com/en-us/library/ms228256.aspx" target="_blank">page on MSDN</a>, talking about it here is outsite the scope of this post. </li>
</ol>
</li>
<li>Comment out the ScriptModule key in the &lt;<span style="color: #a31515;"><span style="color: #a31515;">httpModules</span></span><span style="color: #0000ff;"><span style="color: #0000ff;">&gt; </span></span>element.</li>
</ol>
</li>
<li>Publish your project to the target folder within the parent project</li>
</ol>
<p>That&#8217;s it, not too bad.  The new project will use it&#8217;s web.config and it&#8217;s bin folder independent of the parent project &#8211; yes, even though it may be a different version of the framework</p>
<p><strong>But Wait &#8211; There&#8217;s a Catch.</strong> </p>
<p>If your situation was like mine and you need to roll something out quickly inside of a larger project that you don&#8217;t totally control your new web app could be at risk.  If the parent project is re-published and during publishing the user chooses to do <em>delete remote files</em> your web app will be deleted since it&#8217;s not part of the parent project.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.3rdbit.com/?feed=rss2&amp;p=3</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
