<?xml version="1.0" encoding="utf-8"?>
<rss xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:pingback="http://madskills.com/public/xml/rss/module/pingback/" version="2.0">
  <channel>
    <title>CamTheGeek.com - ASP.NET</title>
    <link>http://www.camthegeek.com/blog/</link>
    <description>Cam Soper's Blog</description>
    <language>en-us</language>
    <copyright>Cam Soper</copyright>
    <lastBuildDate>Mon, 16 Oct 2006 20:05:43 GMT</lastBuildDate>
    <generator>newtelligence dasBlog 1.9.6264.0</generator>
    <managingEditor>camthegeek@camthegeek.com</managingEditor>
    <webMaster>camthegeek@camthegeek.com</webMaster>
    <item>
      <trackback:ping>http://www.camthegeek.com/blog/Trackback.aspx?guid=6576b920-9ab3-4ec1-bfe4-f76bf13ce407</trackback:ping>
      <pingback:server>http://www.camthegeek.com/blog/pingback.aspx</pingback:server>
      <pingback:target>http://www.camthegeek.com/blog/PermaLink,guid,6576b920-9ab3-4ec1-bfe4-f76bf13ce407.aspx</pingback:target>
      <dc:creator>Cam Soper</dc:creator>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
I just read on DotNetKicks that apparently <a href="http://www.theserverside.net/news/thread.tss?thread_id=42426">Visual
Studio 2003 is not going to be officially supported in Vista</a>.  Allow me to
say: Double-ewe.  Tee.  Eff.
</p>
        <p>
I'm floored by this.  Supposedly, though, it will only break debugging in VS2K3,
since the security model has been reworked significantly.  Note to self: 
Install VS2K3 on my Vista box and try to break it.
</p>
        <p>
If this is true, I suppose one could develop in VS2K5 and compile the MSIL in .NET
1.1 with <a href="http://msdn.microsoft.com/vstudio/downloads/tools/msbee/default.aspx">MSBee</a>.<br /></p>
        <img width="0" height="0" src="http://www.camthegeek.com/blog/aggbug.ashx?id=6576b920-9ab3-4ec1-bfe4-f76bf13ce407" />
      </body>
      <title>Visual Studio 2003 in Vista</title>
      <guid isPermaLink="false">http://www.camthegeek.com/blog/PermaLink,guid,6576b920-9ab3-4ec1-bfe4-f76bf13ce407.aspx</guid>
      <link>http://www.camthegeek.com/blog/VisualStudio2003InVista.aspx</link>
      <pubDate>Mon, 16 Oct 2006 20:05:43 GMT</pubDate>
      <description>&lt;p&gt;
I just read on DotNetKicks that apparently &lt;a href="http://www.theserverside.net/news/thread.tss?thread_id=42426"&gt;Visual
Studio 2003 is not going to be officially supported in Vista&lt;/a&gt;. &amp;nbsp;Allow me to
say: Double-ewe. &amp;nbsp;Tee. &amp;nbsp;Eff.
&lt;/p&gt;
&lt;p&gt;
I'm floored by this.&amp;nbsp; Supposedly, though, it will only break debugging in VS2K3,
since the security model has been reworked significantly.&amp;nbsp; Note to self:&amp;nbsp;
Install VS2K3 on my Vista box and try to break it.
&lt;/p&gt;
&lt;p&gt;
If this is true, I suppose one could develop in VS2K5 and compile the MSIL in .NET
1.1 with &lt;a href="http://msdn.microsoft.com/vstudio/downloads/tools/msbee/default.aspx"&gt;MSBee&lt;/a&gt;.&lt;br&gt;
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.camthegeek.com/blog/aggbug.ashx?id=6576b920-9ab3-4ec1-bfe4-f76bf13ce407" /&gt;</description>
      <category>ASP.NET;Programming</category>
    </item>
    <item>
      <trackback:ping>http://www.camthegeek.com/blog/Trackback.aspx?guid=24daeef5-da4c-4866-86b9-e7c163b43a32</trackback:ping>
      <pingback:server>http://www.camthegeek.com/blog/pingback.aspx</pingback:server>
      <pingback:target>http://www.camthegeek.com/blog/PermaLink,guid,24daeef5-da4c-4866-86b9-e7c163b43a32.aspx</pingback:target>
      <dc:creator>Cam Soper</dc:creator>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
I had a site where I was wanting to store some configuration data in web.config, but
the problem is that the data was a little more complex than standard name-value pairs. 
As it turns out, this is a rather common problem, and is easily mitigated by building
custom handlers to parse the sections.  Some examples are <a href="http://www.codeproject.com/aspnet/ConfigSections.asp">here</a>.
</p>
        <p>
What I ended up doing was writing a handler to just pass back the XmlSection. 
Then it can be cast as an XmlNode, and you can use SelectNodes or any number of classes,
like XPathNavigator or XmlTextReader, to parse it.<br /></p>
        <p>
          <font face="Monospace" size="-1">     <font color="Blue">public</font><font color="Black"></font><font color="Blue">class</font><font color="Black"> XmlSectionHandler
: IConfigurationSectionHandler<br />
    {<br />
        </font><font color="Blue">public</font><font color="Black"> XmlSectionHandler(){}<br /></font><font color="Blue"></font><font color="Black"><br />
        </font><font color="Blue">public</font><font color="Black"></font><font color="Blue">object</font><font color="Black"> Create(</font><font color="Blue">object</font><font color="Black"> parent, </font><font color="Blue">object</font><font color="Black"> configContext,
System.Xml.XmlNode section)<br />
        {<br />
            </font><font color="Blue">return</font><font color="Black"> section;<br />
        }<br /></font><font color="Black">    }</font></font>
        </p>
        <p>
It's not terribly unlike what <a href="http://pluralsight.com/wiki/default.aspx/Craig.XmlSerializerSectionHandler">this
guy</a> is doing, but he uses XmlSerializer to just deserialize the whole section
so he doesn't even need to parse the XML.
</p>
        <img width="0" height="0" src="http://www.camthegeek.com/blog/aggbug.ashx?id=24daeef5-da4c-4866-86b9-e7c163b43a32" />
      </body>
      <title>Custom Configuration Handlers in web.config</title>
      <guid isPermaLink="false">http://www.camthegeek.com/blog/PermaLink,guid,24daeef5-da4c-4866-86b9-e7c163b43a32.aspx</guid>
      <link>http://www.camthegeek.com/blog/CustomConfigurationHandlersInWebconfig.aspx</link>
      <pubDate>Wed, 19 Apr 2006 21:44:42 GMT</pubDate>
      <description>&lt;p&gt;
I had a site where I was wanting to store some configuration data in web.config, but
the problem is that the data was a little more complex than standard name-value pairs.&amp;nbsp;
As it turns out, this is a rather common problem, and is easily mitigated by building
custom handlers to parse the sections.&amp;nbsp; Some examples are &lt;a href="http://www.codeproject.com/aspnet/ConfigSections.asp"&gt;here&lt;/a&gt;.
&lt;/p&gt;
&lt;p&gt;
What I ended up doing was writing a handler to just pass back the XmlSection.&amp;nbsp;
Then it can be cast as an XmlNode, and you can use SelectNodes or any number of classes,
like XPathNavigator or XmlTextReader, to parse it.&lt;br&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;font face="Monospace" size="-1"&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;font color="Blue"&gt;public&lt;/font&gt;&lt;font color="Black"&gt; &lt;/font&gt;&lt;font color="Blue"&gt;class&lt;/font&gt;&lt;font color="Black"&gt; XmlSectionHandler
: IConfigurationSectionHandler&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="Blue"&gt;public&lt;/font&gt;&lt;font color="Black"&gt; XmlSectionHandler(){}&lt;br&gt;
&lt;/font&gt;&lt;font color="Blue"&gt;&lt;/font&gt;&lt;font color="Black"&gt;
&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="Blue"&gt;public&lt;/font&gt;&lt;font color="Black"&gt; &lt;/font&gt;&lt;font color="Blue"&gt;object&lt;/font&gt;&lt;font color="Black"&gt; Create(&lt;/font&gt;&lt;font color="Blue"&gt;object&lt;/font&gt;&lt;font color="Black"&gt; parent, &lt;/font&gt;&lt;font color="Blue"&gt;object&lt;/font&gt;&lt;font color="Black"&gt; configContext,
System.Xml.XmlNode section)&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color="Blue"&gt;return&lt;/font&gt;&lt;font color="Black"&gt; section;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br&gt;
&lt;/font&gt;&lt;font color="Black"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/font&gt; &lt;/font&gt;
&lt;/p&gt;
&lt;p&gt;
It's not terribly unlike what &lt;a href="http://pluralsight.com/wiki/default.aspx/Craig.XmlSerializerSectionHandler"&gt;this
guy&lt;/a&gt; is doing, but he uses XmlSerializer to just deserialize the whole section
so he doesn't even need to parse the XML.
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.camthegeek.com/blog/aggbug.ashx?id=24daeef5-da4c-4866-86b9-e7c163b43a32" /&gt;</description>
      <category>ASP.NET</category>
    </item>
    <item>
      <trackback:ping>http://www.camthegeek.com/blog/Trackback.aspx?guid=88a799a9-a7f2-4049-ad01-9202b4a19257</trackback:ping>
      <pingback:server>http://www.camthegeek.com/blog/pingback.aspx</pingback:server>
      <pingback:target>http://www.camthegeek.com/blog/PermaLink,guid,88a799a9-a7f2-4049-ad01-9202b4a19257.aspx</pingback:target>
      <dc:creator>Cam Soper</dc:creator>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
I've been trying to get an internal Commerce Bank <a href="http://www.dotnetnuke.com">DotNetNuke </a>portal
going.  The idea is that everyone on my team has enough projects, we don't need
to be devoting man-hours to putting together minor internal websites when a content
management system would do the job.<br /><br />
According to the DNN installation whitepaper, the basic installation is just a virtual
directory in IIS, with a SQL authenticated data connection.  This would never
fly with our DBAs, as they insist on Windows Authentication on all new projects. 
No big deal, says I.  We'll just set up a Windows domain account with the proper
rights in SQL Server, add &lt;identity impersonate="true" userName="domain\account"
password="password" /&gt; to web.config, change the SQL connection string to reflect
this change, and we'll be golden.  Well, not so much.<br /><br />
See, everything in DNN seemed to run fine, with the exception of the scheduler. 
The scheduler is the part of DNN responsible for purging old data and indexing the
site for search.  I read the scheduler whitepaper, and there was nothing in it
other than some very basic concepts.  I Googled every term I could think of relating
to DNN and scheduling, but found nothing related to my issue.<br /><br />
I finally decided to try running DNN in its own App Pool under the new Windows account. 
To be honest, I've never really had much of a need to run anything under anything
other than DefaultAppPool.  I created the new App Pool, assigned the virtual
directory to it, pointed FireFox at it, and got nothing but "Service Unavailable." 
D'oh!  Wonder what's up with that?  A little Google work found <a href="http://support.microsoft.com/default.aspx?id=823552">this
gem</a>.  The TechNet link is dead, but he gives enough detail to figure it out. 
As he describes, I added my account to IIS_WPG and verified it had the other permissions
he mentioned, fired off a resetiis, and everything was fine.<br /><br />
So I suppose what was going on behind the scenes had to do with DefaultAppPool running
as Network Service, my DNN application running as my Windows account, and between
the two of them not being able to launch the scheduler thread.  I feel a little
silly having spent more than a day on this.  Why couldn't I find any information
to lead me to the conclusion that I needed to run in a different App Pool?  Why
did I have to dig and dig and experiment to figure this out?  Why couldn't there
be something in the scheduling whitepaper that describes the permissions associated
with scheduling?  Is this indicative of my own lack of knowledge, or is this
something anyone might stumble into?  While I adore DNN as a project, I think
it really needs some updated, in-depth documentation.
</p>
        <img width="0" height="0" src="http://www.camthegeek.com/blog/aggbug.ashx?id=88a799a9-a7f2-4049-ad01-9202b4a19257" />
      </body>
      <title>IIS_WPG, DotNetNuke, and ASP.NET impersonation</title>
      <guid isPermaLink="false">http://www.camthegeek.com/blog/PermaLink,guid,88a799a9-a7f2-4049-ad01-9202b4a19257.aspx</guid>
      <link>http://www.camthegeek.com/blog/IISWPGDotNetNukeAndASPNETImpersonation.aspx</link>
      <pubDate>Thu, 12 Jan 2006 19:25:23 GMT</pubDate>
      <description>&lt;p&gt;
I've been trying to get an internal Commerce Bank &lt;a href="http://www.dotnetnuke.com"&gt;DotNetNuke &lt;/a&gt;portal
going.&amp;nbsp; The idea is that everyone on my team has enough projects, we don't need
to be devoting man-hours to putting together minor internal websites when a content
management system would do the job.&lt;br&gt;
&lt;br&gt;
According to the DNN installation whitepaper, the basic installation is just a virtual
directory in IIS, with a SQL authenticated data connection.&amp;nbsp; This would never
fly with our DBAs, as they insist on Windows Authentication on all new projects.&amp;nbsp;
No big deal, says I.&amp;nbsp; We'll just set up a Windows domain account with the proper
rights in SQL Server, add &amp;lt;identity impersonate="true" userName="domain\account"
password="password" /&amp;gt; to web.config, change the SQL connection string to reflect
this change, and we'll be golden.&amp;nbsp; Well, not so much.&lt;br&gt;
&lt;br&gt;
See, everything in DNN seemed to run fine, with the exception of the scheduler.&amp;nbsp;
The scheduler is the part of DNN responsible for purging old data and indexing the
site for search.&amp;nbsp; I read the scheduler whitepaper, and there was nothing in it
other than some very basic concepts.&amp;nbsp; I Googled every term I could think of relating
to DNN and scheduling, but found nothing related to my issue.&lt;br&gt;
&lt;br&gt;
I finally decided to try running DNN in its own App Pool under the new Windows account.&amp;nbsp;
To be honest, I've never really had much of a need to run anything under anything
other than DefaultAppPool.&amp;nbsp; I created the new App Pool, assigned the virtual
directory to it, pointed FireFox at it, and got nothing but "Service Unavailable."&amp;nbsp;
D'oh!&amp;nbsp; Wonder what's up with that?&amp;nbsp; A little Google work found &lt;a href="http://support.microsoft.com/default.aspx?id=823552"&gt;this
gem&lt;/a&gt;.&amp;nbsp; The TechNet link is dead, but he gives enough detail to figure it out.&amp;nbsp;
As he describes, I added my account to IIS_WPG and verified it had the other permissions
he mentioned, fired off a resetiis, and everything was fine.&lt;br&gt;
&lt;br&gt;
So I suppose what was going on behind the scenes had to do with DefaultAppPool running
as Network Service, my DNN application running as my Windows account, and between
the two of them not being able to launch the scheduler thread.&amp;nbsp; I feel a little
silly having spent more than a day on this.&amp;nbsp; Why couldn't I find any information
to lead me to the conclusion that I needed to run in a different App Pool?&amp;nbsp; Why
did I have to dig and dig and experiment to figure this out?&amp;nbsp; Why couldn't there
be something in the scheduling whitepaper that describes the permissions associated
with scheduling?&amp;nbsp; Is this indicative of my own lack of knowledge, or is this
something anyone might stumble into?&amp;nbsp; While I adore DNN as a project, I think
it really needs some updated, in-depth documentation.
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.camthegeek.com/blog/aggbug.ashx?id=88a799a9-a7f2-4049-ad01-9202b4a19257" /&gt;</description>
      <category>ASP.NET</category>
    </item>
  </channel>
</rss>