Welcome to Community Server Sign in | Join | Help

Browse by Tags

All Tags » IIS   (RSS)

I still haven't managed to find time to get some resources from Tech.Ed up - hopefully by this weekend. In the meantime, there's new things from Microsoft for everyone both developers and IT Pros.

Microsoft has launched a new site for its project codenamed "Atlas". Atlas, just launched at PDC 2005, is an implementation of AJAX for ASP.NET. Atlas will be part of .NET v2 (formerly "Whidbey"). On the site you can download documentation, quickstarts, the add-in for Visual Studio 2005 and the PDC Hands-On-Labs (HoL) VPC to play around with this right now. Want to know more about Atlas, and why it's better than Microsoft's previous implementation? Check out MVP Rob Chartier's post on the topic.

Also announced at PDC was LINQ (Language Integrated Query). Barry Gervin has a great post to lots of LINQ resources. In a one line summary, LINQ allows a developer to query a number of datasources directly from within their .NET code. See Introducing LINQ for example code.

Virtual Server 2005 is now available to those of you who have MSDN Enterprise/Universal subscriptions, which is a change to previous policy. Also available (or soon to be available) will be Vista Build 5219 (which was shown at PDC). This will be the first (of hopefully many) CTP (Community Tech Previews) of Vista, echoing the popular monthly release program of builds for Visual Studio 2005 and SQL Server 2005. See MSDN Subcriber Downloads.

Update Rollup v2 for Windows 2000 SP4 systems has been re-released after fixes for a number of issues with the original rollup where identified. You can get the updated rollup package from the Windows 2000 website. KB article 891861 describes the updated rollup package.

Filed under: , ,

There's good news for all those attending Tech.Ed 2005 in Australia interested in IIS7 - I'll be presenting the IIS7 Preview session, currently scheduled for 2:20pm on Thursday. We'll be looking at all the great new features with IIS7 - extensibility, delegation of administration and unified event pipeline.

Straight afterwards, at 3:45pm I'll be presenting a session on Troubleshooting and Debugging IIS. Hopefully we'll have access to the RTM version of Debug Diagnostics by then. If you administer IIS servers, and would like to be one of the first world wide to look at this new diagnostic tool, this is the session for you.

For more info on Tech.Ed 2005 sessions, straight from the presenters' mouths, check out the MediaCasts featured on Frank Arrigo's blog

Tech.Ed 2005 - It's going to be BIG!

Filed under:

Beginning with IIS6.0 each static file type that you wished to serve to clients required a defined MIME type. If a MIME type wasn't defined a 404 Not Found status would be sent to the client (the substatus code of 3 is logged in the IIS logfile). Static files are those that are mapped to the IIS Static File Handler (rather than to an ISAPI extension, which are dynamic files).

Prior to SP1 if you had an extensionless file you needed to add a "wildcard" MIME mapping if you wished IIS to serve it, per KB326965. This had the side effect of enabling downloads of any type of static file you placed into your website (e.g. document.foo).

Beginning with SP1 you can now add a MIME type of "." to allow downloads of extensionless files. However this doesn't allow downloads of other non-defined filetypes e.g. the previously mentioned document.foo. To allow files with the extension .foo to be downloaded, you would need to define a MIME type for .foo (and rightly so).

David Wang alluded to this in a comment to a previous post, however this issue appears to be causing some confusion based on the number of queries around this that I see in forums. In essence, adding a MIME type for "." doesn't replace or substitute for a wildcard mapping - it just allows downloads of extensionless files. The reason we used wildcard mappings pre-SP1 was because IIS didn't have a way of natively allowing those types of files, and using the wildcard mapping was a workaround or hack.

Filed under:
IIS 6.0 introduces a number of security features. For static content (such as HTML pages or text files that IIS serves directly to the client) a MIME type must be defined. See KB for more information. Recently Mitch Tulloch warned against configuring Read More...
Filed under:
Beginning with Service Pack 1 of Windows 2003 Server, most SSL processing (request and response encryption and decryption) can be done in kernel mode, rather than in user mode (pre SP1). I haven't seen a lot of discussion on this feature, though it Read More...
Filed under:
Bernard Cheah is an IIS MVP who contributed two chapters to the LogParser Toolkit . He posted the following code snippet to show what's possible using LogParser . ping -n 15 www.yahoo.com | logparser "SELECT TO_INT(REPLACE_STR(EXTRACT_VALUE(Text,'time',' Read More...
Filed under: ,
I was up this morning (at 4:30AM!) participating in a Livemeeting session with the IIS product group, looking at some of the new features coming with IIS7. Hopefully I'll have some time to go into those in more detail over the next few weeks, but Read More...
Filed under:

Registration for Tech.Ed Australia 2005 is open. Register before 30th June for $400 off the regular delegate's fee. For those who'll be attending and reading this (all two of you!), I'm currently scheduled to be presenting a session on IIS Troubleshooting and Debugging, including coverage of the upcoming IIS Debug Diagnostics tool which is currently in beta.

My colleague Chewy Chong will be presenting a session on Microsoft Identity Integration Server.

Filed under: ,
Despite the the KB838306 Jet Hotfix not appearing in the list of fixes in SP1 KB article, it appears that the bug has been fixed. KB838306 updates msjtes40.dll to v4.0.8704.0 whereas a Windows 2003 Server with SP1 has v4.0.9025.0 The symptoms of the Jet Read More...
Filed under:

Most free IIS support forums tend to be dominated by questions related to configuration, how to, setup and so forth. However it's the crash/hang questions that generally do not get answered, or the responses generally tend to be "shot in the dark" suggestions on fixing the issue.

If you have an IIS crash (where a process, e.g. w3wp.exe or dllhost.exe terminates unexpectedly), or a hang (where IIS is not serving pages) then the best way to troubleshoot the problem is through the use of debugging tools. Whilst diagnostic tools like AuthDiag and SSLDiag can help with configuration issue, debugging tools can let you "peek inside" IIS to see what's happening when a crash or hang has occured.

The two most popular IIS debugging tools are adplus.vbs and IISState. Adplus.vbs is available with the Windows Debugging Toolkit. IISState was available with the IIS6 Resource Kit Tools, however an updated version is available for download from IISFAQ.com. To help with configuring and diagnosing IISState logs, I've done up a FAQ page to get you started.

Filed under:
IIS hangs - using IISState to debug a hang. What happens when someone uses the MSXML XMLHTTP object instead of the ServerXMLHTTP object? You run the risk of blocked threads as you scale up the load, and IIS appears to hang. We have a look at IISState log excerpt showing what's happening under the covers.
Filed under:

When using HTTP based authentication (e.g. Basic, NTLM, Digest, Kerberos), Internet Explorer (IE) will continue sending the same credentials for each subsequent request to the server until one of two things happens: either (a) the user closes their browser or (b) the server refuses the credentials with a 401 status code. This behaviour is described (about 1/3 of the way down, under Notes) in KB 264921.

A common request I see is how a programmer force a user to reauthenticate after a certain period, particularly after a period of inactivity. This might address a situation where a user has accidently left their machine unlocked and their browser window open, or where an application based session has expired, and the programmer wants to simultaneously force the user to reauthenticate.

In the past I would have recommended one of three strategies:

  • Programmatically send a 401 HTTP status to the client (e.g. Response.Status = 401)
  • Redirect a user to http://fakeuser:wrongpassword@www.yoursite.com (this doesn't work with patched IE6 anymore). Since fakeuser/wrongpassword isn't a valid Windows account, the user will be prompted to enter valid credentials
  • Use the client-side ActiveX control described in KB 195192

With the exception of the first option (setting the Response.Status), the methods are mostly ugly hacks IMHO.

Now, we have a new way of clearing the IE authentication cache. Beginning with IE6 SP1 the following piece of javascript code will clear IE's credentials cache. Note, that this will clear the credentials cache for the entire iexplore.exe process, so users will be forced to re-authenticate to any site being accessed by that process (in case they have multiple windows open pointing to multiple websites):

// Clear current credentials
// Requires IE6 SP1 or later
document.execCommand(ClearAuthenticationCache, false)

More information can be found in MSDN: ClearAuthenticationCache and execCommand

Filed under: ,

ASP.NET v2 Beta Quickstarts are now available.

Microsoft SQL Server Report Pack for Internet Information Services (IIS) is also now available for download from the Microsoft website. This provides a set of 12 sample reports that can be run against IIS Logfiles imported into SQL Server. Requires SQL Server Reporting Services.

Filed under: ,

A friend of mine recently asked whether it would be possible to create a listing of each website on a server, and it's current state (stopped, started etc). Having each site as a link to the actual site would be an added bonus. Something like:

Site State
Default Web Site Started
Sharepoint Administration Site Started
Test Site 2 Started

No problems. Here is some sample code (VBScript, with VB.NET coming soon) to enumerate websites (and state) on an IIS box.

Filed under:
IIS 6.0 Request Processing - understanding how IIS 6.0 processes incoming requests against its security configuration
Filed under: