<?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>siliconpizza.com &#187; Microsoft</title>
	<atom:link href="http://siliconpizza.com/blog/category/microsoft/feed/" rel="self" type="application/rss+xml" />
	<link>http://siliconpizza.com</link>
	<description>I'll have a slice of that</description>
	<lastBuildDate>Mon, 11 Jul 2011 14:57:00 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
	<style type="text/css">
@import url(http://www.google.com/cse/api/branding.css);
</style>
<div class="cse-branding-right" style="background-color:#FFFFFF;color:#000000">
  <div class="cse-branding-form">
    <form action="http://www.google.co.uk/cse" id="cse-search-box" target="_blank">
      <div>
        <input type="hidden" name="cx" value="partner-pub-0990092444456571:mfibeucn22n" />
        <input type="hidden" name="ie" value="ISO-8859-1" />
        <input type="text" name="q" size="31" />
        <input type="submit" name="sa" value="Search" />
      </div>
    </form>
  </div>
  <div class="cse-branding-logo">
    <img src="http://www.google.com/images/poweredby_transparent/poweredby_FFFFFF.gif" alt="Google" />
  </div>
  <div class="cse-branding-text">
    Custom Search
  </div>
</div>

<script type="text/javascript"><!--
google_ad_client = "pub-0990092444456571";
/* 728x90, created 7/24/08 */
google_ad_slot = "4348084769";
google_ad_width = 728;
google_ad_height = 90;
//-->
</script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script>	<item>
		<title>Pondering large scale application consolidation</title>
		<link>http://siliconpizza.com/blog/2008/05/21/pondering-large-scale-application-migration/</link>
		<comments>http://siliconpizza.com/blog/2008/05/21/pondering-large-scale-application-migration/#comments</comments>
		<pubDate>Wed, 21 May 2008 11:07:47 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[Application consolidation]]></category>
		<category><![CDATA[Web Sites]]></category>

		<guid isPermaLink="false">http://siliconpizza.com/blog/2008/05/21/pondering-large-scale-application-migration/</guid>
		<description><![CDATA[Historically many bespoke application are developed on the same servers the prodcution application runs on. Often this server was built by the developers with little regards for consistancy. After all developers develop applications for a living, not build server infrastructure. Developing an application on the production server can lead to many problems, particularly if that server build is not quite [...]]]></description>
			<content:encoded><![CDATA[<img style='float: left; margin-right: 10px; border: none;' src='http://www.gravatar.com/avatar.php?gravatar_id=8cc0ef4416d627c65d4771f7e5701b17&amp;default=' alt='No Gravatar' width=40 height=40/><p>Historically many bespoke application are developed on the same servers the prodcution application runs on. Often this server was built by the developers with little regards for consistancy. After all developers develop applications for a living, not build server infrastructure.</p>
<p>Developing an application on the production server can lead to many problems, particularly if that server build is not quite right or the developer is a little wet behind the ears and does not considure scaling issues and hard coded resource refernces. Then of course it is always possible to cripple the production server by testing <strike>rogue</strike> application code at the whim a developer. I could witter on for ages about this, bit i want to get on towards what needs to be done to consolidate these applications to central managed infrastructure. Putting to one side the issues of supporting the, often extremely large, consolidation platform, many problems need to be over come to ensure the successful migration / consolidation of bespoke applications in the enterprise.</p>
<p><strong>&lt;UPDATE&gt;</strong><br />
It is worth pointing out that these applications should be consolidated to a well defined, well managed platform, where each appliaction exists in a logical container where ALL interfaces and features are defined and controlled by the infrastructure. Hopeful reducing or even eliminating many of the future gotchas</p>
<p>It should also be noted the technology is only a small part of the battle. Accurate recording of succesfull migration, ownership, and reporting of KPIs also need to be considered. i am not talking a few spreadsheets, it needs to be a fully operation CMDB. spreadsheets are not searchable on MASS, so without a proper CMDB you still only have a huge quantity of unstructure data which is be out of data before you can use it<br />
<strong>&lt;/UPDATE&gt;</strong></p>
<p> So this is my list of check points and Gotchas</p>
<p><span id="more-261"></span></p>
<p>Information Required</p>
<ul>
<li>Who owns the application (business owner, not a Project manager) ?</li>
<li>Do they have resource to manage coding changes that may be required ?</li>
<li>Who Need access to develop the application ?</li>
<li>Who supports the APP ?</li>
<li>Does the app have a offical supoprt team ?</li>
<li>Does the app have approval from the corporate security guys?</li>
<li>How many users ?</li>
<li>Does it need access to employ data / GAL ?</li>
<li>.net version requirements</li>
<li>Database Requirements (oracle and SQL), linked Servers</li>
<li>Database requirements (un supported and  will need to migrate)</li>
<li>Downstream dependencies</li>
<li>Upstream dependencies</li>
<li>LOB implications (many corporates have to segragate their LOBs BT Openreach for example)</li>
<li>Any 3rd party access customers (via portals)</li>
<li>Any 3rd party access offshore users</li>
<li>Any 3rd party access offshore support</li>
<li>Any 3rd party access vendors COTS software</li>
<li>Quantity of SMTP traffic generated</li>
<li>Database growth expectations</li>
<li>File Space growth expectations</li>
<li>Any confidential data requirements</li>
<li>Any encryption Key management requirements</li>
</ul>
<p>Things that may need to change</p>
<ul>
<li>Db connect strings</li>
<li>Tnsnames migration to non tns connection strings</li>
<li>SMTP parameters</li>
<li>Cold fusion with ldap queries</li>
<li>Hard coded File paths</li>
<li>Hard coded Server names</li>
<li>Hard coded data (other)</li>
</ul>
<p>Gothchas</p>
<ul>
<li>Oracle client compatibility</li>
<li>File system access by application</li>
<li>3rd party components</li>
<li>Has it been used to running with elevated privileges</li>
<li>Do any DTS/SSIS need access to file systems</li>
<li>Does SQL run as a service account, What perms does this have</li>
<li>Self referencing http calls such as web services (can break on hardware load balanced farms)</li>
<li>SMTP components</li>
<li>Non web based components, windows exe, scripts or services</li>
<li>Use of MS Office components</li>
<li>Use of MSACCESS</li>
<li>Sql optimisation (query and indexes)</li>
<li>Cold fusion version (4.x , 5 code not 100% compatible with MX series)</li>
<li>Cold fusion with AD  authentication (will need code change if using bluedragon CFML engine)</li>
<li>Asp/asp.net auth against local accounts</li>
<li>.net data components and memory usage</li>
<li>SSL</li>
<li>Session management</li>
<li>Web gardens</li>
<li>.net assemblies in bin folder</li>
<li>.net assemblies in GAC</li>
<li>.net trust requirements</li>
<li>Frontpage (Yuck)</li>
<li>WebDAV (Security implications)</li>
<li>Application session variables cannot be seen by other servers in the farm</li>
<li>Do the support guys have SA access to the current SQL server</li>
<li>Do the Support guys have console access to the current  SQL server</li>
<li>Do the support guys have console access to the web current  server</li>
<li>Date time issues on code developed on servers with wrong regional configuration</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://siliconpizza.com/blog/2008/05/21/pondering-large-scale-application-migration/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>When to and when NOT to !</title>
		<link>http://siliconpizza.com/blog/2008/05/14/when-to-and-when-not-to/</link>
		<comments>http://siliconpizza.com/blog/2008/05/14/when-to-and-when-not-to/#comments</comments>
		<pubDate>Wed, 14 May 2008 09:07:54 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Computers]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[Unbelievable]]></category>
		<category><![CDATA[MSACCESS]]></category>
		<category><![CDATA[SQL]]></category>

		<guid isPermaLink="false">http://siliconpizza.com/blog/2008/05/14/when-to-and-when-not-to/</guid>
		<description><![CDATA[Life is full of tools, tips, tricks and technology. However most people fail on the &#8220;When to&#8221; and &#8220;When NOT to&#8221; use a particular piece of technology. For example you would not use a pair of scissors to cut the lawn, or a lawn mower for a hair cut , yet they are both cutting / [...]]]></description>
			<content:encoded><![CDATA[<img style='float: left; margin-right: 10px; border: none;' src='http://www.gravatar.com/avatar.php?gravatar_id=8cc0ef4416d627c65d4771f7e5701b17&amp;default=' alt='No Gravatar' width=40 height=40/><p>Life is full of tools, tips, tricks and technology. However most people fail on the &#8220;When to&#8221; and &#8220;When NOT to&#8221; use a particular piece of technology.</p>
<p>For example you would not use a pair of scissors to cut the lawn, or a lawn mower for a hair cut , yet they are both cutting / triming devices !</p>
<p>So why it is we see some people use a full on SQL database to manage the population of a TEN item drop down box and other use MSAccess (and the MSACCESS GUI not a web app) to run a million pound revneue generating mission critical business application for 100 users over 20 sites</p>
]]></content:encoded>
			<wfw:commentRss>http://siliconpizza.com/blog/2008/05/14/when-to-and-when-not-to/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Create Site in IIS6 from ASP.NET</title>
		<link>http://siliconpizza.com/blog/2008/04/14/create-site-in-iis6-from-aspnet/</link>
		<comments>http://siliconpizza.com/blog/2008/04/14/create-site-in-iis6-from-aspnet/#comments</comments>
		<pubDate>Mon, 14 Apr 2008 14:09:33 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[IIS6]]></category>
		<category><![CDATA[VB.Net]]></category>
		<category><![CDATA[Web Sites]]></category>

		<guid isPermaLink="false">http://siliconpizza.com/blog/2008/04/14/create-site-in-iis6-from-aspnet/</guid>
		<description><![CDATA[some REALLY rough and not very elegent code but this is my website create code for IIS6 Points to note: I centrally manage the W3SVC instance number, so they are unique across all of the platforms in the enterprise, hence the instance number is specified , not generated in the function I use AD based IWAM accounts [...]]]></description>
			<content:encoded><![CDATA[<img style='float: left; margin-right: 10px; border: none;' src='http://www.gravatar.com/avatar.php?gravatar_id=8cc0ef4416d627c65d4771f7e5701b17&amp;default=' alt='No Gravatar' width=40 height=40/><p>some REALLY rough and not very elegent code but this is my website create code for IIS6</p>
<p>Points to note:</p>
<ul>
<li>I centrally manage the W3SVC instance number, so they are unique across all of the platforms in the enterprise, hence the instance number is specified , not generated in the function</li>
<li>I use AD based IWAM accounts to connect to CIFS (UNC) based content, so these have to be specified</li>
<li>hosts string is a comma separated list of hostheaders,</li>
</ul>
<p><span id="more-243"></span><font size="2"><font size="2" color="#0000ff"><font size="2" color="#0000ff">Function</font></font><font size="2"> createsite(</font><font size="2" color="#0000ff"><font size="2" color="#0000ff">ByVal</font></font><font size="2"> StrMachine </font><font size="2" color="#0000ff"><font size="2" color="#0000ff">As</font></font><font size="2"> </font><font size="2" color="#0000ff"><font size="2" color="#0000ff">String</font></font><font size="2">, </font><font size="2" color="#0000ff"><font size="2" color="#0000ff">ByVal</font></font><font size="2"> StrSitenumber </font><font size="2" color="#0000ff"><font size="2" color="#0000ff">As</font></font><font size="2"> </font><font size="2" color="#0000ff"><font size="2" color="#0000ff">String</font></font><font size="2">, </font><font size="2" color="#0000ff"><font size="2" color="#0000ff">ByVal</font></font><font size="2"> StrSiteDesc </font><font size="2" color="#0000ff"><font size="2" color="#0000ff">As</font></font><font size="2"> </font><font size="2" color="#0000ff"><font size="2" color="#0000ff">String</font></font><font size="2">, </font><font size="2" color="#0000ff"><font size="2" color="#0000ff">ByRef</font></font><font size="2"> Hosts </font><font size="2" color="#0000ff"><font size="2" color="#0000ff">As</font></font><font size="2"> </font><font size="2" color="#0000ff"><font size="2" color="#0000ff">String</font></font><font size="2">, </font><font size="2" color="#0000ff"><font size="2" color="#0000ff">ByVal</font></font><font size="2"> IwamUser </font><font size="2" color="#0000ff"><font size="2" color="#0000ff">As</font></font><font size="2"> </font><font size="2" color="#0000ff"><font size="2" color="#0000ff">String</font></font><font size="2">, </font><font size="2" color="#0000ff"><font size="2" color="#0000ff">ByVal</font></font><font size="2"> IWamPass </font><font size="2" color="#0000ff"><font size="2" color="#0000ff">As</font></font><font size="2"> </font><font size="2" color="#0000ff"><font size="2" color="#0000ff">String</font></font><font size="2">, </font><font size="2" color="#0000ff"><font size="2" color="#0000ff">ByVal</font></font><font size="2"> FilePath </font><font size="2" color="#0000ff"><font size="2" color="#0000ff">As</font></font><font size="2"> </font><font size="2" color="#0000ff"><font size="2" color="#0000ff">String</font></font><font size="2">, </font><font size="2" color="#0000ff"><font size="2" color="#0000ff">ByVal</font></font><font size="2"> AppPool </font><font size="2" color="#0000ff"><font size="2" color="#0000ff">As</font></font><font size="2"> </font><font size="2" color="#0000ff"><font size="2" color="#0000ff">String</font></font><font size="2">, </font><font size="2" color="#0000ff"><font size="2" color="#0000ff">ByVal</font></font><font size="2"> DefaultLogonDomain </font><font size="2" color="#0000ff"><font size="2" color="#0000ff">As</font></font><font size="2"> </font><font size="2" color="#0000ff"><font size="2" color="#0000ff">String</font></font><font size="2">) </font><font size="2" color="#0000ff"><font size="2" color="#0000ff">As</font></font><font size="2"> </font><font size="2" color="#0000ff"><font size="2" color="#0000ff">String</font></font></p>
<p></font><font size="2" color="#008000"><font size="2" color="#008000">&#8216; need to validate the NEW hostheaders first<br />
</font></font><font size="2" color="#0000ff"><font size="2" color="#0000ff">Dim</font></font><font size="2"> WebServiceObj </font><font size="2" color="#0000ff"><font size="2" color="#0000ff">As</font></font><font size="2"> DirectoryEntry<br />
</font><font size="2" color="#0000ff"><font size="2" color="#0000ff">Dim</font></font><font size="2"> siteexists </font><font size="2" color="#0000ff"><font size="2" color="#0000ff">As</font></font><font size="2"> </font><font size="2" color="#0000ff"><font size="2" color="#0000ff">Boolean<br />
</font></font><font size="2" color="#0000ff"><font size="2" color="#0000ff">Dim</font></font><font size="2"> Sites </font><font size="2" color="#0000ff"><font size="2" color="#0000ff">As</font></font><font size="2"> DirectoryEntries<br />
</font><font size="2" color="#0000ff"><font size="2" color="#0000ff">Dim</font></font><font size="2"> objSITE </font><font size="2" color="#0000ff"><font size="2" color="#0000ff">As</font></font><font size="2"> DirectoryEntry<br />
</font><font size="2" color="#0000ff"><font size="2" color="#0000ff">Dim</font></font><font size="2"> Newwebserver </font><font size="2" color="#0000ff"><font size="2" color="#0000ff">As</font></font><font size="2"> DirectoryEntry<br />
</font><font size="2" color="#0000ff"><font size="2" color="#0000ff">Dim</font></font><font size="2"> objIIS </font><font size="2" color="#0000ff"><font size="2" color="#0000ff">As</font></font><font size="2"> DirectoryEntry<br />
</font><font size="2" color="#0000ff"><font size="2" color="#0000ff">Dim</font></font><font size="2"> objVirtualDirectory </font><font size="2" color="#0000ff"><font size="2" color="#0000ff">As</font></font><font size="2"> DirectoryEntry<br />
</font><font size="2" color="#0000ff"><font size="2" color="#0000ff">Dim</font></font><font size="2"> headers() </font><font size="2" color="#0000ff"><font size="2" color="#0000ff">As</font></font><font size="2"> </font><font size="2" color="#0000ff"><font size="2" color="#0000ff">String<br />
</font></font><font size="2" color="#0000ff"><font size="2" color="#0000ff">Dim</font></font><font size="2"> counter </font><font size="2" color="#0000ff"><font size="2" color="#0000ff">As</font></font><font size="2"> Int16</font><font size="2">headers = Split(Hosts, <font size="2" color="#a31515"><font size="2" color="#a31515">&#8220;,&#8221;</font></font><font size="2">)<font size="2" color="#0000ff"><font size="2" color="#0000ff">Try</font></font></p>
<p></font></p>
<p></font><font size="2">WebServiceObj = <font size="2" color="#0000ff"><font size="2" color="#0000ff">New</font></font><font size="2"> DirectoryEntry(</font><font size="2" color="#a31515"><font size="2" color="#a31515">&#8220;IIS://&#8221;</font></font><font size="2"> &amp; StrMachine &amp; </font><font size="2" color="#a31515"><font size="2" color="#a31515">&#8220;/W3SVC&#8221;</font></font><font size="2">)<br />
siteexists = </font><font size="2" color="#0000ff"><font size="2" color="#0000ff">False<br />
</font></font><font size="2" color="#0000ff"><font size="2" color="#0000ff">For</font></font><font size="2"> </font><font size="2" color="#0000ff"><font size="2" color="#0000ff">Each</font></font><font size="2"> objSITE </font><font size="2" color="#0000ff"><font size="2" color="#0000ff">In</font></font><font size="2"> WebServiceObj.Children<br />
</font><font size="2" color="#008000"><font size="2" color="#008000">&#8216;not all object in collection are web sites, so need to test BEFORE drilling into hosts property<br />
</font></font><font size="2" color="#0000ff"><font size="2" color="#0000ff">   If</font></font><font size="2"> UCase(objSITE.SchemaClassName) = </font><font size="2" color="#a31515"><font size="2" color="#a31515">&#8220;IISWEBSERVER&#8221;</font></font><font size="2"> </font><font size="2" color="#0000ff"><font size="2" color="#0000ff">Then<br />
</font></font><font size="2" color="#0000ff"><font size="2" color="#0000ff">      If</font></font><font size="2"> UCase(objSITE.Path.ToString) = UCase(</font><font size="2" color="#a31515"><font size="2" color="#a31515">&#8220;IIS://&#8221;</font></font><font size="2"> &amp; StrMachine &amp; </font><font size="2" color="#a31515"><font size="2" color="#a31515">&#8220;/W3SVC/&#8221;</font></font><font size="2"> &amp; StrSitenumber) </font><font size="2" color="#0000ff"><font size="2" color="#0000ff">Then</font></font><font size="2"> </font><font size="2" color="#008000"><font size="2" color="#008000">&#8216;site already exists<br />
         </font></font><font size="2">siteexists = </font><font size="2" color="#0000ff"><font size="2" color="#0000ff">True<br />
</font></font><font size="2" color="#0000ff"><font size="2" color="#0000ff">      End</font></font><font size="2"> </font><font size="2" color="#0000ff"><font size="2" color="#0000ff">If<br />
</font></font><font size="2" color="#0000ff"><font size="2" color="#0000ff">   End</font></font><font size="2"> </font><font size="2" color="#0000ff"><font size="2" color="#0000ff">If<br />
</font></font><font size="2" color="#0000ff"><font size="2" color="#0000ff">Next</font></font></p>
<p></font><font size="2"><font size="2" color="#0000ff"><font size="2" color="#0000ff">If</font></font><font size="2"> siteexists </font><font size="2" color="#0000ff"><font size="2" color="#0000ff">Then<br />
   </font></font><font size="2">Newwebserver = </font><font size="2" color="#0000ff"><font size="2" color="#0000ff">New</font></font><font size="2"> DirectoryEntry(</font><font size="2" color="#a31515"><font size="2" color="#a31515">&#8220;IIS://&#8221;</font></font><font size="2"> &amp; StrMachine &amp; </font><font size="2" color="#a31515"><font size="2" color="#a31515">&#8220;/W3SVC/&#8221;</font></font><font size="2"> &amp; StrSitenumber)<br />
   createsite = </font><font size="2" color="#a31515"><font size="2" color="#a31515">&#8220;Site Already exists&#8221;<br />
</font></font><font size="2" color="#0000ff"><font size="2" color="#0000ff">Else<br />
</font></font><font size="2">   Newwebserver = WebServiceObj.Children.Add(StrSitenumber, </font><font size="2" color="#a31515"><font size="2" color="#a31515">&#8220;IIsWebServer&#8221;</font></font><font size="2">)<br />
   createsite = </font><font size="2" color="#a31515"><font size="2" color="#a31515">&#8220;Create New Site&#8221;<br />
</font></font><font size="2" color="#0000ff"><font size="2" color="#0000ff">End</font></font><font size="2"> </font><font size="2" color="#0000ff"><font size="2" color="#0000ff">If</font></font></p>
<p></font><font size="2">Newwebserver.Properties(</font><font size="2" color="#a31515"><font size="2" color="#a31515">&#8220;ServerComment&#8221;</font></font><font size="2">).Item(0) = StrSiteDesc<br />
</font><font size="2" color="#0000ff"><font size="2" color="#0000ff">For</font></font><font size="2"> counter = 0 </font><font size="2" color="#0000ff"><font size="2" color="#0000ff">To</font></font><font size="2"> UBound(headers)<br />
   Newwebserver.Properties(</font><font size="2" color="#a31515"><font size="2" color="#a31515">&#8220;ServerBindings&#8221;</font></font><font size="2">).Add(</font><font size="2" color="#a31515"><font size="2" color="#a31515">&#8220;:80:&#8221;</font></font><font size="2"> &amp; headers(counter))<br />
</font><font size="2" color="#0000ff"><font size="2" color="#0000ff">Next<br />
</font></font><font size="2">Newwebserver.CommitChanges()<br />
Newwebserver = </font><font size="2" color="#0000ff"><font size="2" color="#0000ff">Nothing<br />
</font></font><font size="2">objIIS = </font><font size="2" color="#0000ff"><font size="2" color="#0000ff">New</font></font><font size="2"> DirectoryEntry(</font><font size="2" color="#a31515"><font size="2" color="#a31515">&#8220;IIS://&#8221;</font></font><font size="2"> &amp; StrMachine &amp; </font><font size="2" color="#a31515"><font size="2" color="#a31515">&#8220;/W3SVC/&#8221;</font></font><font size="2"> &amp; StrSitenumber)<br />
siteexists = </font><font size="2" color="#0000ff"><font size="2" color="#0000ff">False</font></font></p>
<p><font size="2"><font size="2" color="#0000ff"><font size="2" color="#0000ff">For</font></font><font size="2"> </font><font size="2" color="#0000ff"><font size="2" color="#0000ff">Each</font></font><font size="2"> objSITE </font><font size="2" color="#0000ff"><font size="2" color="#0000ff">In</font></font><font size="2"> objIIS.Children </font><font size="2" color="#008000"><font size="2" color="#008000">&#8216; check each object in site, if Vdir is it called root<br />
</font></font><font size="2" color="#008000"><font size="2" color="#008000">&#8216;not all object in collection are web sites, so need to test BEFORE drilling into propertys<br />
   </font></font><font size="2" color="#0000ff"><font size="2" color="#0000ff">If</font></font><font size="2"> UCase(objSITE.SchemaClassName) = </font><font size="2" color="#a31515"><font size="2" color="#a31515">&#8220;IISWEBVIRTUALDIR&#8221;</font></font><font size="2"> </font><font size="2" color="#0000ff"><font size="2" color="#0000ff">Then<br />
</font></font><font size="2" color="#0000ff"><font size="2" color="#0000ff">      If</font></font><font size="2"> UCase(objSITE.Path.ToString) = UCase(</font><font size="2" color="#a31515"><font size="2" color="#a31515">&#8220;IIS://&#8221;</font></font><font size="2"> &amp; StrMachine &amp; </font><font size="2" color="#a31515"><font size="2" color="#a31515">&#8220;/W3SVC/&#8221;</font></font><font size="2"> &amp; StrSitenumber &amp; </font><font size="2" color="#a31515"><font size="2" color="#a31515">&#8220;/ROOT&#8221;</font></font><font size="2">) </font><font size="2" color="#0000ff"><font size="2" color="#0000ff">Then</font></font><font size="2"> </font><font size="2" color="#008000"><font size="2" color="#008000">&#8216;site already exists<br />
</font></font><font size="2">         siteexists = </font><font size="2" color="#0000ff"><font size="2" color="#0000ff">True<br />
</font></font><font size="2" color="#0000ff"><font size="2" color="#0000ff">      End</font></font><font size="2"> </font><font size="2" color="#0000ff"><font size="2" color="#0000ff">If<br />
</font></font><font size="2" color="#0000ff"><font size="2" color="#0000ff">   End</font></font><font size="2"> </font><font size="2" color="#0000ff"><font size="2" color="#0000ff">If<br />
</font></font><font size="2" color="#0000ff"><font size="2" color="#0000ff">Next</font></font></p>
<p></font><font size="2"><font size="2" color="#0000ff"><font size="2" color="#0000ff">If</font></font><font size="2"> siteexists </font><font size="2" color="#0000ff"><font size="2" color="#0000ff">Then</font></font><font size="2"> </font><font size="2" color="#008000"><font size="2" color="#008000">&#8216;Connection to exitsing site<br />
   </font></font><font size="2">objVirtualDirectory = </font><font size="2" color="#0000ff"><font size="2" color="#0000ff">New</font></font><font size="2"> DirectoryEntry(</font><font size="2" color="#a31515"><font size="2" color="#a31515">&#8220;IIS://&#8221;</font></font><font size="2"> &amp; StrMachine &amp; </font><font size="2" color="#a31515"><font size="2" color="#a31515">&#8220;/W3SVC/&#8221;</font></font><font size="2"> &amp; StrSitenumber &amp; </font><font size="2" color="#a31515"><font size="2" color="#a31515">&#8220;/Root&#8221;</font></font><font size="2">)<br />
</font><font size="2" color="#0000ff"><font size="2" color="#0000ff">Else</font></font><font size="2"> </font><font size="2" color="#008000"><font size="2" color="#008000">&#8216; create NEW one <br />
</font></font><font size="2">   objVirtualDirectory = objIIS.Children.Add(</font><font size="2" color="#a31515"><font size="2" color="#a31515">&#8220;Root&#8221;</font></font><font size="2">, </font><font size="2" color="#a31515"><font size="2" color="#a31515">&#8220;IISWebVirtualDir&#8221;</font></font><font size="2">)<br />
   createsite = </font><font size="2" color="#a31515"><font size="2" color="#a31515">&#8220;Site Created&#8221;<br />
</font></font><font size="2" color="#0000ff"><font size="2" color="#0000ff">End</font></font><font size="2"> </font><font size="2" color="#0000ff"><font size="2" color="#0000ff">If</font></font></p>
<p></font><font size="2"><font size="2" color="#008000"><font size="2" color="#008000">&#8216;fix all the properties</font></font></p>
<p></font><font size="2">   objVirtualDirectory.Properties(</font><font size="2" color="#a31515"><font size="2" color="#a31515">&#8220;AccessScript&#8221;</font></font><font size="2">).Item(0) = </font><font size="2" color="#0000ff"><font size="2" color="#0000ff">True<br />
</font></font><font size="2">   objVirtualDirectory.Properties(</font><font size="2" color="#a31515"><font size="2" color="#a31515">&#8220;Path&#8221;</font></font><font size="2">).Item(0) = FilePath<br />
   objVirtualDirectory.Properties(</font><font size="2" color="#a31515"><font size="2" color="#a31515">&#8220;AnonymousUserName&#8221;</font></font><font size="2">).Item(0) = IwamUser<br />
   objVirtualDirectory.Properties(</font><font size="2" color="#a31515"><font size="2" color="#a31515">&#8220;AnonymousUserPass&#8221;</font></font><font size="2">).Item(0) = IWamPass<br />
   objVirtualDirectory.Properties(</font><font size="2" color="#a31515"><font size="2" color="#a31515">&#8220;AnonymousPasswordSync&#8221;</font></font><font size="2">).Item(0) = </font><font size="2" color="#0000ff"><font size="2" color="#0000ff">False<br />
</font></font><font size="2">   objVirtualDirectory.Properties(</font><font size="2" color="#a31515"><font size="2" color="#a31515">&#8220;DefaultLogonDomain&#8221;</font></font><font size="2">).Item(0) = DefaultLogonDomain<br />
   objVirtualDirectory.Properties(</font><font size="2" color="#a31515"><font size="2" color="#a31515">&#8220;AppFriendlyName&#8221;</font></font><font size="2">).Item(0) = AppPool<br />
   objVirtualDirectory.Properties(</font><font size="2" color="#a31515"><font size="2" color="#a31515">&#8220;AppIsolated&#8221;</font></font><font size="2">).Item(0) = 2<br />
   objVirtualDirectory.Properties(</font><font size="2" color="#a31515"><font size="2" color="#a31515">&#8220;AppPoolId&#8221;</font></font><font size="2">).Item(0) = AppPool<br />
   objVirtualDirectory.Properties(</font><font size="2" color="#a31515"><font size="2" color="#a31515">&#8220;AccessWrite&#8221;</font></font><font size="2">).Item(0) = </font><font size="2" color="#0000ff"><font size="2" color="#0000ff">False<br />
</font></font><font size="2">   objVirtualDirectory.Properties(</font><font size="2" color="#a31515"><font size="2" color="#a31515">&#8220;AccessRead&#8221;</font></font><font size="2">).Item(0) = </font><font size="2" color="#0000ff"><font size="2" color="#0000ff">True<br />
</font></font><font size="2">   objVirtualDirectory.Properties(</font><font size="2" color="#a31515"><font size="2" color="#a31515">&#8220;AccessExecute&#8221;</font></font><font size="2">).Item(0) = </font><font size="2" color="#0000ff"><font size="2" color="#0000ff">True<br />
</font></font><font size="2">   objVirtualDirectory.Properties(</font><font size="2" color="#a31515"><font size="2" color="#a31515">&#8220;AccessScript&#8221;</font></font><font size="2">).Item(0) = </font><font size="2" color="#0000ff"><font size="2" color="#0000ff">True<br />
</font></font><font size="2">   objVirtualDirectory.Properties(</font><font size="2" color="#a31515"><font size="2" color="#a31515">&#8220;AuthAnonymous&#8221;</font></font><font size="2">).Item(0) = </font><font size="2" color="#0000ff"><font size="2" color="#0000ff">True<br />
</font></font><font size="2">   objVirtualDirectory.Properties(</font><font size="2" color="#a31515"><font size="2" color="#a31515">&#8220;AuthBasic&#8221;</font></font><font size="2">).Item(0) = </font><font size="2" color="#0000ff"><font size="2" color="#0000ff">True<br />
</font></font><font size="2">   objVirtualDirectory.Invoke(</font><font size="2" color="#a31515"><font size="2" color="#a31515">&#8220;AppCreate&#8221;</font></font><font size="2">, </font><font size="2" color="#0000ff"><font size="2" color="#0000ff">True</font></font><font size="2">)<br />
</font><font size="2">   objVirtualDirectory.CommitChanges() </font><font size="2"><font size="2" color="#0000ff"><font size="2" color="#0000ff">Catch</font></font><font size="2"> ex </font><font size="2" color="#0000ff"><font size="2" color="#0000ff">As</font></font><font size="2"> Exception<font size="2" color="#008000"><font size="2" color="#008000">&#8216;createsite = ex.Message</font></font></p>
<p></font></p>
<p></font><font size="2"><font size="2" color="#0000ff"><font size="2" color="#0000ff">Finally</font></font></p>
<p></font><font size="2">   WebServiceObj = </font><font size="2" color="#0000ff"><font size="2" color="#0000ff">Nothing<br />
</font></font><font size="2">   siteexists = </font><font size="2" color="#0000ff"><font size="2" color="#0000ff">Nothing<br />
</font></font><font size="2">   Sites = </font><font size="2" color="#0000ff"><font size="2" color="#0000ff">Nothing<br />
</font></font><font size="2">   objSITE = </font><font size="2" color="#0000ff"><font size="2" color="#0000ff">Nothing<br />
</font></font><font size="2">   Newwebserver = </font><font size="2" color="#0000ff"><font size="2" color="#0000ff">Nothing<br />
</font></font><font size="2">   objIIS = </font><font size="2" color="#0000ff"><font size="2" color="#0000ff">Nothing<br />
</font></font><font size="2">   objVirtualDirectory = </font><font size="2" color="#0000ff"><font size="2" color="#0000ff">Nothing</font></font><font size="2" color="#0000ff"><font size="2" color="#0000ff"><font size="2" color="#0000ff"><font size="2" color="#0000ff">End</font></font><font size="2"> </font><font size="2" color="#0000ff"><font size="2" color="#0000ff">Try</font></font></p>
<p></font></font><font size="2"><font size="2" color="#0000ff"><font size="2" color="#0000ff">End</font></font><font size="2"> </font><font size="2" color="#0000ff"><font size="2" color="#0000ff">Function</font></font></p>
<p></font></p>
]]></content:encoded>
			<wfw:commentRss>http://siliconpizza.com/blog/2008/04/14/create-site-in-iis6-from-aspnet/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Asp.net and dropdown lists</title>
		<link>http://siliconpizza.com/blog/2008/04/02/241/</link>
		<comments>http://siliconpizza.com/blog/2008/04/02/241/#comments</comments>
		<pubDate>Wed, 02 Apr 2008 19:22:52 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Computers]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[Visual Studio]]></category>

		<guid isPermaLink="false">http://siliconpizza.com/blog/2008/04/02/241/</guid>
		<description><![CDATA[I am slowing gaining some good experience in coding with visual studio 2008 and VB.NET and some C# for ASP.NET But I fell into a corker this week I have a simple form with a dropdown list box, the items in this drop down list box are populated from a data string obtained from an [...]]]></description>
			<content:encoded><![CDATA[<img style='float: left; margin-right: 10px; border: none;' src='http://www.gravatar.com/avatar.php?gravatar_id=8cc0ef4416d627c65d4771f7e5701b17&amp;default=' alt='No Gravatar' width=40 height=40/><p>I am slowing gaining some good experience in coding with visual studio 2008 and VB.NET and some C# for ASP.NET</p>
<p>But I fell into a corker this week</p>
<p>I have a simple form with a dropdown list box, the items in this drop down list box are populated from a data string obtained from an external webservice during the page load, Nice solutions or so I thought</p>
<p>1st problem a page load occurs during a post back, so the dropdown list was getting populated twice, once during the initial page load, and AGAIN during a validation post back on a textbox</p>
<p>So I decided to clear the dropdown list before adding the items</p>
<p>Some hours of frustration later I discovered the clearing and reloading the list items was not such a good plan, Pageload also goes off during a form submission which then nukes the selectedvalue data for the dropdown list</p>
<p>End result, test the dropdown list item count before to see if I have already added any item, of not add them</p>
<p>Sorted<br />
1. My selected values work properly<br />
2. My postbacks are quicker as the webservices call only occurs on initial load</p>
<p> <img src='http://siliconpizza.com/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://siliconpizza.com/blog/2008/04/02/241/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>IIS6, Creating Application Pools with .NET</title>
		<link>http://siliconpizza.com/blog/2008/03/25/iis6-creating-application-pools-with-net/</link>
		<comments>http://siliconpizza.com/blog/2008/03/25/iis6-creating-application-pools-with-net/#comments</comments>
		<pubDate>Tue, 25 Mar 2008 15:29:57 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[Application Pools]]></category>
		<category><![CDATA[IIS6]]></category>
		<category><![CDATA[VB.Net]]></category>

		<guid isPermaLink="false">http://siliconpizza.com/blog/2008/03/25/iis6-creating-application-pools-with-net/</guid>
		<description><![CDATA[I know this is VB.NET but i was in a hurry and my C# sucks this is mostly cobbled togther from other stuff I found on the net, none of which did EXACTLY what I needed When I get the time i will publish some of my other functions, including IIS6 site create and IIS6 FTP Profile [...]]]></description>
			<content:encoded><![CDATA[<img style='float: left; margin-right: 10px; border: none;' src='http://www.gravatar.com/avatar.php?gravatar_id=8cc0ef4416d627c65d4771f7e5701b17&amp;default=' alt='No Gravatar' width=40 height=40/><p>I know this is VB.NET but i was in a hurry and my C# sucks<br />
this is mostly cobbled togther from other stuff I found on the net, none of which did EXACTLY what I needed<br />
When I get the time i will publish some of my other functions, including IIS6 site create and IIS6 FTP Profile Create</p>
<p>This is a simple VB.NET function to create and IIS6 Application pool<br />
This function is designed to specify the UserId and Password for the AppPool Identity and was used in an environment where domain credentials were used</p>
<p><font size="2"><font size="2" color="#0000ff"><span id="more-239"></span>Function</font><font size="2"> CreateAppPool(</font><font size="2" color="#0000ff">ByVal</font><font size="2"> StrMachine </font><font size="2" color="#0000ff">As</font><font size="2"> </font><font size="2" color="#0000ff">String</font><font size="2">, </font><font size="2" color="#0000ff">ByVal</font><font size="2"> AppName </font><font size="2" color="#0000ff">As</font><font size="2"> </font><font size="2" color="#0000ff">String</font><font size="2">, </font><font size="2" color="#0000ff">ByVal</font><font size="2"> UserName </font><font size="2" color="#0000ff">As</font><font size="2"> </font><font size="2" color="#0000ff">String</font><font size="2">, </font><font size="2" color="#0000ff">ByVal</font><font size="2"> Password </font><font size="2" color="#0000ff">As</font><font size="2"> </font><font size="2" color="#0000ff">String</font><font size="2">) </font><font size="2" color="#0000ff">As</font><font size="2"> </font><font size="2" color="#0000ff"> </font></font><font size="2"><font size="2" color="#0000ff">String</font></font><font size="2"> </font></p>
<p><font size="2">CreateAppPool = <font size="2" color="#a31515">&#8220;success&#8221;<br />
</font><font size="2" color="#0000ff">Dim</font><font size="2"> foundapp </font><font size="2" color="#0000ff">As</font><font size="2"> </font><font size="2" color="#0000ff">Boolean<br />
</font><font size="2" color="#0000ff">Dim</font><font size="2"> apppools </font><font size="2" color="#0000ff">As</font><font size="2"> DirectoryEntries<br />
</font><font size="2" color="#0000ff">Dim</font><font size="2"> apppool2 </font><font size="2" color="#0000ff">As</font><font size="2"> DirectoryEntry<br />
</font><font size="2" color="#0000ff">Dim</font><font size="2"> apppool </font><font size="2" color="#0000ff">As</font><font size="2"> DirectoryEntry<br />
</font><font size="2" color="#0000ff">Dim</font><font size="2"> NewAppPool </font><font size="2" color="#0000ff">As</font><font size="2"> </font><font size="2" color="#0000ff">Object<br />
</font></font><font size="2"><font size="2">foundapp = <font size="2" color="#0000ff">False<br />
</font><font size="2">apppool2 = </font><font size="2" color="#0000ff">New</font><font size="2"> DirectoryEntry(</font><font size="2" color="#a31515">&#8220;IIS://&#8221;</font><font size="2"> &amp; StrMachine &amp; </font><font size="2" color="#a31515">&#8220;/w3svc/AppPools&#8221;</font><font size="2">)<br />
apppools = apppool2.Children<br />
</font><font size="2" color="#008000">&#8216;test for duplicate poolname<br />
</font><font size="2" color="#0000ff">For</font><font size="2"> </font><font size="2" color="#0000ff">Each</font><font size="2"> apppool </font><font size="2" color="#0000ff">In</font><font size="2"> apppools </font><font size="2" color="#008000">&#8216; scan each current app pool for check its name<br />
</font><font size="2" color="#0000ff">  If</font><font size="2"> UCase(apppool.Name) = UCase(AppName) </font><font size="2" color="#0000ff">Then</font><font size="2"> </font><font size="2" color="#008000">&#8216; no need to check class type as everything at this level is a AppPool<br />
</font><font size="2">    foundapp = </font><font size="2" color="#0000ff">True<br />
</font><font size="2" color="#0000ff">  End</font><font size="2"> </font><font size="2" color="#0000ff">If<br />
</font><font size="2" color="#0000ff">Next<br />
</font><font size="2" color="#0000ff">If</font><font size="2"> </font><font size="2" color="#0000ff">Not</font><font size="2"> foundapp </font><font size="2" color="#0000ff">Then<br />
</font><font size="2" color="#008000">  &#8216;create the APP Pool and set unique information, most of the data is inherited<br />
</font><font size="2">  NewAppPool = apppool2.Children.Add(AppName, </font><font size="2" color="#a31515">&#8220;IIsApplicationPool&#8221;</font><font size="2">)<br />
  NewAppPool.Properties(</font><font size="2" color="#a31515">&#8220;AppPoolIdentityType&#8221;</font><font size="2">).Item(0) = 3<br />
  NewAppPool.Properties(</font><font size="2" color="#a31515">&#8220;WAMUserName&#8221;</font><font size="2">).Item(0) = UserName<br />
  NewAppPool.Properties(</font><font size="2" color="#a31515">&#8220;WAMUserPass&#8221;</font><font size="2">).Item(0) = Password<br />
  NewAppPool.CommitChanges()<br />
  NewAppPool = </font><font size="2" color="#0000ff">Nothing<br />
</font><font size="2" color="#0000ff">Else<br />
</font><font size="2">  CreateAppPool = </font><font size="2" color="#a31515">&#8220;Duplicate AppPool found&#8221;<br />
</font><font size="2" color="#0000ff">End</font><font size="2"> </font><font size="2" color="#0000ff">If<br />
</font><font size="2">  apppool2 = </font><font size="2" color="#0000ff">Nothing<br />
</font><font size="2">  apppools = </font><font size="2" color="#0000ff">Nothing<br />
</font><font size="2" color="#0000ff">End</font><font size="2"> </font><font size="2" color="#0000ff">Function</font></font></font></p>
]]></content:encoded>
			<wfw:commentRss>http://siliconpizza.com/blog/2008/03/25/iis6-creating-application-pools-with-net/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>Microsoft server 2008, Hyper-V</title>
		<link>http://siliconpizza.com/blog/2008/03/19/microsoft-server-2008-hyper-v/</link>
		<comments>http://siliconpizza.com/blog/2008/03/19/microsoft-server-2008-hyper-v/#comments</comments>
		<pubDate>Wed, 19 Mar 2008 13:30:02 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Computers]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[hyper-v]]></category>

		<guid isPermaLink="false">http://siliconpizza.com/blog/2008/03/19/microsoft-server-2008-hyper-v/</guid>
		<description><![CDATA[Sat in a Server 2008 session at the UK 2008 product launch, and they have just announced &#8220;Hyper-V goes RC0 today&#8221;]]></description>
			<content:encoded><![CDATA[<img style='float: left; margin-right: 10px; border: none;' src='http://www.gravatar.com/avatar.php?gravatar_id=8cc0ef4416d627c65d4771f7e5701b17&amp;default=' alt='No Gravatar' width=40 height=40/><p>Sat in a Server 2008 session at the UK 2008 product launch, </p>
<p>and they have just announced &#8220;Hyper-V goes RC0 today&#8221;  </p>
]]></content:encoded>
			<wfw:commentRss>http://siliconpizza.com/blog/2008/03/19/microsoft-server-2008-hyper-v/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>WordPress on IIS7</title>
		<link>http://siliconpizza.com/blog/2008/01/14/wordpress-on-iis7/</link>
		<comments>http://siliconpizza.com/blog/2008/01/14/wordpress-on-iis7/#comments</comments>
		<pubDate>Mon, 14 Jan 2008 16:52:39 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Blogs]]></category>
		<category><![CDATA[Computers]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[Opensource]]></category>
		<category><![CDATA[Wordpress]]></category>
		<category><![CDATA[IIS7]]></category>

		<guid isPermaLink="false">http://siliconpizza.com/blog/2008/01/14/wordpress-on-iis7/</guid>
		<description><![CDATA[This make an intersting read HOW TO: wordpress on IIS7 with some extras too http://mvolo.com/blogs/serverside/archive/2007/08/12/IIS-Authentication-plugin-for-the-WordPress-PHP-blogging-engine.aspx]]></description>
			<content:encoded><![CDATA[<img style='float: left; margin-right: 10px; border: none;' src='http://www.gravatar.com/avatar.php?gravatar_id=8cc0ef4416d627c65d4771f7e5701b17&amp;default=' alt='No Gravatar' width=40 height=40/><p>This make an intersting read</p>
<p>HOW TO: wordpress on IIS7 with some extras too</p>
<p><a href="http://mvolo.com/blogs/serverside/archive/2007/08/12/IIS-Authentication-plugin-for-the-WordPress-PHP-blogging-engine.aspx">http://mvolo.com/blogs/serverside/archive/2007/08/12/IIS-Authentication-plugin-for-the-WordPress-PHP-blogging-engine.aspx</a></p>
]]></content:encoded>
			<wfw:commentRss>http://siliconpizza.com/blog/2008/01/14/wordpress-on-iis7/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Microsoft, Tech-ed IT Forum, Barcelona, Day 5</title>
		<link>http://siliconpizza.com/blog/2007/11/17/microsoft-tech-ed-it-forum-barcelona-day-5/</link>
		<comments>http://siliconpizza.com/blog/2007/11/17/microsoft-tech-ed-it-forum-barcelona-day-5/#comments</comments>
		<pubDate>Sat, 17 Nov 2007 11:23:49 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Computers]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://siliconpizza.com/blog/2007/11/17/microsoft-tech-ed-it-forum-barcelona-day-5/</guid>
		<description><![CDATA[The Last day &#8230;. My brain is close to melt down, so i only attened a few sessions today, Stuck some labs in the gaps to practice what we had been learning.so Session 1, Delivering rich media with server 2008, shame the presenter could not deliver a rich presentation. at least the new media extensions support [...]]]></description>
			<content:encoded><![CDATA[<img style='float: left; margin-right: 10px; border: none;' src='http://www.gravatar.com/avatar.php?gravatar_id=8cc0ef4416d627c65d4771f7e5701b17&amp;default=' alt='No Gravatar' width=40 height=40/><p>The Last day &#8230;. My brain is close to melt down, so i only attened a few sessions today, Stuck some labs in the gaps to practice what we had been learning.so<br />
Session 1, Delivering rich media with server 2008, shame the presenter could not deliver a rich presentation.<br />
at least the new media extensions support MP3s and other file formats, there also seem to be a better level of integration between HTTP and MMS delivery of content, shame there is NO API for automatic creation of play lists in the current beta, so i may just have to pop to http:/iis.net and have a whinge..Session 2,  Q&amp;A with the REAL IIS team, Hard core stuff but i will try to summarise what came out of the session, following many Questions from myself and a few other </p>
<p>IIS is no longer supported with failover clustering, a large debate ensued over why cluster instead of load balance<br />
The ability to initiate a worker process re-cycle still requires admin, and therefore cannot be delegated, like other feature of IIS7, but ops manager may provide a solution there<br />
There is no feature to do logging by folder for micro sites, but the integrated pipeline architecture would make it easier to write a plug in module to achieve that,<br />
Modules can be written in managed code (.net) as well as native code (c++) and thre is a good SDK<br />
Apparently if you install a *.domain SSL Cert you can do host-headered SSL&#8230;. ( this was available on IIS6 and something I did not know)<br />
There is a NEW feature on Worker process timeouts, at a server level, you can enable dynamic timeouts, if the server is under stress, it will adjust the idle timeout of a worker process to free up memory. Something I picked up on though, this is a server setting, so in a shared environment where some heavy apps co-exist with lightly used apps, the session stability of the lightly used apps could suffer. Yet another excuse to go to IIS.NET and have a whinge, sorry provide constructive critisism</p>
<p> <font face="Calibri"> </font></p>
]]></content:encoded>
			<wfw:commentRss>http://siliconpizza.com/blog/2007/11/17/microsoft-tech-ed-it-forum-barcelona-day-5/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Microsoft, Tech-ed IT Forum, Barcelona, Day 4</title>
		<link>http://siliconpizza.com/blog/2007/11/16/microsoft-tech-ed-it-forum-barcelona-day-4/</link>
		<comments>http://siliconpizza.com/blog/2007/11/16/microsoft-tech-ed-it-forum-barcelona-day-4/#comments</comments>
		<pubDate>Fri, 16 Nov 2007 14:59:20 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Computers]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[Tech-ed]]></category>

		<guid isPermaLink="false">http://siliconpizza.com/blog/2007/11/16/microsoft-tech-ed-it-forum-barcelona-day-4/</guid>
		<description><![CDATA[Just in case anyone thinks a week at TechEd in Barcelona is a jolly, you are sadly mistaken. FIVE days of rapid fire presentations is total DATA overload, which despite the doing apparently nothing is extremely tiring. So Day 4&#8230;.. Session 1. PHP on windows, now don’t laugh. Monday saw the release of fastCGI for [...]]]></description>
			<content:encoded><![CDATA[<img style='float: left; margin-right: 10px; border: none;' src='http://www.gravatar.com/avatar.php?gravatar_id=8cc0ef4416d627c65d4771f7e5701b17&amp;default=' alt='No Gravatar' width=40 height=40/><p>Just in case anyone thinks a week at TechEd in Barcelona is a jolly, you are sadly mistaken. FIVE days of rapid fire presentations is total DATA overload, which despite the doing apparently nothing is extremely tiring.</p>
<p>So Day 4&#8230;..</p>
<p>Session 1. PHP on windows, now don’t laugh. Monday saw the release of fastCGI for windows server 2003, this is a Microsoft bolt on to run supporting CGI apps almost 15 times faster. CGI is traditionally very slow on windows due to the over head involved in creating and destroying a NEW process. CGI creates a NEW process for EVERY request. In fastCGI the process is persisted and re-used offering almost a 15 folder performance improvement. Add to that you can use asp.net forms authentication in front of the zend PHP and obtain the login credentials i may just have to try standing up a copy of WordPress on windows, Cuz I can !!!</p>
<p>Session 2. IIS7 on Server core, Server core is the NEW low foot print install for windows server 2008, it is not actually a SKU, but an install option you buy standard edition licence and install CORE or Full, (I wonder if they will rebrand ARCADE edition like the XBOX 360) Core will present some interesting challenges for the “right click” boys, as there is NO GUI, it is CMD line (hooray) or remote admin. I have never fully understood why a server needs a GUI, but my first server was novell 2, Shame that server CORE does not support managed code, so you can&#8217;t install a .net frame work, which sort of cripples a windows web server</p>
<p>Session 3. SQL Server indexing by Kimberly Tripp, OH MY GOD, a serious session on SQL indexing and tools and scripts., using DMVs on SQL 2005, she demonstrated scripts she had created that woudl recomend index creates and index drops. the most enlightening statement she made (which made so much sense , but i had never though of it before) dont just look at the long runing queries, but run a trace over the a fully daily workload and look for common queries, shaving 50% of a query which is run 5000 times day provides better overall performance gain than looking at the long runing query which only runs a few times a day.<br />
 </p>
]]></content:encoded>
			<wfw:commentRss>http://siliconpizza.com/blog/2007/11/16/microsoft-tech-ed-it-forum-barcelona-day-4/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Microsoft, Tech-ed IT Forum, Barcelona, Day 3</title>
		<link>http://siliconpizza.com/blog/2007/11/16/microsoft-tech-ed-it-forum-barcelona-day-3/</link>
		<comments>http://siliconpizza.com/blog/2007/11/16/microsoft-tech-ed-it-forum-barcelona-day-3/#comments</comments>
		<pubDate>Fri, 16 Nov 2007 14:36:22 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[Tech-ed]]></category>

		<guid isPermaLink="false">http://siliconpizza.com/blog/2007/11/16/microsoft-tech-ed-it-forum-barcelona-day-3/</guid>
		<description><![CDATA[Well it is actually day 5, and nearly time to go home, but i have only just found the time to to write this up Yet another day of many sessions and information over load Session 1. Microsoft search server, wow look like that have spent some time on this one, really cool fedarated queries [...]]]></description>
			<content:encoded><![CDATA[<img style='float: left; margin-right: 10px; border: none;' src='http://www.gravatar.com/avatar.php?gravatar_id=8cc0ef4416d627c65d4771f7e5701b17&amp;default=' alt='No Gravatar' width=40 height=40/><p>Well it is actually day 5, and nearly time to go home, but i have only just found the time to to write this up<br />
Yet another day of many sessions and information over load</p>
<p>Session 1. Microsoft search server, wow look like that have spent some time on this one, really cool fedarated queries etc , which being based on opensearch technology (which is fundamentally RSS) you could just add a normal RSS feed to the side of your normal search. Picture you corporate search engine has you TOP news article down the side&#8230;.<br />
I wonder if it could be tweaked into a feedburner type app by republishing RSS feeds</p>
<p>Session 2. missed that one and gave the IIS guys in the exhibition  hard time. Well worth it, deep dive into IIS7 and the IIS&amp; FTP server (which is not part of server 2008, but a separate install for some reason)</p>
<p>Session 3. Interactive session, SQL server best practices, did not realy get much from this session, it would appear my current recommendations for SQL security in a WEB farm are pretty good</p>
<p>Session 4. Far too tired, for more data in take to did a LAB on server 2008</p>
]]></content:encoded>
			<wfw:commentRss>http://siliconpizza.com/blog/2007/11/16/microsoft-tech-ed-it-forum-barcelona-day-3/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

