Ayende @ Rahien

Hi!
My name is Oren Eini
Founder of Hibernating Rhinos LTD and RavenDB.
You can reach me by phone or email:

ayende@ayende.com

+972 52-548-6969

, @ Q c

Posts: 5,953 | Comments: 44,408

filter by tags archive

I hate IIS today


I am trying to execute the following piece of code:

Microsoft.Web.Administration.WebConfigurationManager.GetSection("system.webServer/httpHandlers");

Of course, this fails with a completely bizarre exception.

image

For some reason, I have the feeling it is not supposed to do that. Trying to explicitly pass the path where web.config lies also fails. When I finally made it use the correct path, it still gave the same error.

Urgh!


Comments

Joao Braganca

That should be system.webServer/handlers for IIS7 or system.web/httpHandlers for IIS6.

C-J Berg

So you are trying to read a non-standard section (or misspelled, but IIS cannot know that) that's not declared in configSections, and you then get upset because IIS tells you so, in plain english even? :-)

Try this:

WebConfigurationManager.GetSection("system.webServer/handlers");

Ricardo Stuven

For backward compatibility, you should change to "Classic" ASP.NET integration mode... or keep it "Integrated" and change the config file (system.web/httpHandlers -> system.webServer/handlers)

See http://learn.iis.net/page.aspx/243/aspnet-integration-with-iis7/

Ayende Rahien

C-J Berg,

Um, no, it is a standard section, and notice what I am trying to do:

Microsoft.Web.Administration.WebConfigurationManager, this is using the IIS7 API, and I am trying to read the IIS 7 data.

Ayende Rahien

That is not what I want, I want to read the data from the IIS7 data, in integrated mode.

And I am using system.webServer/handlers, but that is not readable, unfortunately.

Ricardo Stuven

And I am using system.webServer/handlers

Your code and the error message say: "system.webServer/httpHandlers"

Ayende Rahien

Damn!

You are correct.

Thanks!

C-J Berg

What I meant was that it's not a standard section in IIS7; you used the standard name for IIS6 (hence the "misspelled").

Anyhow, if you want to manipulate the handlers section, Microsoft provides an assembly for that purpose: Microsoft.Web.Administration.dll (found in %SystemRoot%\System32\InetSrv). Its ServerManager lets you read the app's host config, and you can also update and save it. (It can also be used to control any other aspect of IIS7, so you no longer need to use WMI/ADSI to configure sites.)

Comment preview

Comments have been closed on this topic.

FUTURE POSTS

No future posts left, oh my!

RECENT SERIES

  1. The RavenDB Comic Strip (3):
    28 May 2015 - Part III – High availability & sleeping soundly
  2. Special Offer (2):
    27 May 2015 - 29% discount for all our products
  3. RavenDB Sharding (3):
    22 May 2015 - Adding a new shard to an existing cluster, splitting the shard
  4. Challenge (45):
    28 Apr 2015 - What is the meaning of this change?
  5. Interview question (2):
    30 Mar 2015 - fix the index
View all series

Syndication

Main feed Feed Stats
Comments feed   Comments Feed Stats