[.NET/IIS7] Custom HttpHandlers werken niet

Pagina: 1
Acties:

Acties:
  • 0 Henk 'm!

  • wibber
  • Registratie: Februari 2001
  • Laatst online: 29-12-2024
Hi,

Ik ben bezig met een ASP.NET project waarbij een aantal eigen HttpHandlers gebruikt worden. De applicatie is in Visual Studio 2008 voor .Net 3.5 ontwikkeld. Als ik de applicatie met de bij Visual Studio meegeleverde development webserver draai, werkt alles naar behoren, maar op het moment dat ik hem op IIS7 neerzet worden de custom HttpHandlers niet meer gebruikt. Ik heb in de web.config de volgende sectie:

XML:
1
2
3
4
5
6
7
8
9
10
11
12
    <httpHandlers>
      <remove verb="*" path="*.asmx"/>
      <add verb="*" path="*.awp" validate="false" type="Test.Portal.AWPHandler"/>
      <add verb="*" path="*dialogs.js" validate="false" type="Test.Portal.AWPHandler"/>
      <add verb="*" path="*notes.js" validate="false" type="Test.Portal.AWPHandler"/>
      <add verb="*" path="*calendar.js" validate="false" type="Test.Portal.AWPHandler"/>
      <add verb="*" path="*webgrid.ajax" validate="false" type="Test.Portal.WebControls.WebGridAjaxHandler"/>      
      <add verb="*" path="*.ajax" validate="false" type="Test.Portal.AjaxHandler"/>
      <add verb="*" path="*.asmx" validate="false" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
      <add verb="*" path="*_AppService.axd" validate="false" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
      <add verb="GET,HEAD" path="ScriptResource.axd" validate="false" type="System.Web.Handlers.ScriptResourceHandler, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
    </httpHandlers>


Zoals uit bovenstaande sectie opgemerkt kan worden, gebruik ik voor bestanden met een AWP en AJAX extensie eigen HttpHandlers. Op de meegeleverde development webserver werkt dit automatisch. Als ik een bestande met AWP of AJAX extensie opvraagt worden de juiste Http handlers gebruikt. Voor IIS6 dien ik een een wildcard handler toe te voegen aan de configuratie van de website. Voor deze handler stel ik als executable file de aspnet_isapi.dll van het .Net framework 2.0 in. Hierdoor werk alles naar behoren.

Op het moment dat ik op IIS7 een wildcard Http handler (met als executable de aspnet_isapi.dll) instel krijg ik de melding: Er is geen handler gekoppeld aan de bron waarnaar u op zoek bent. Een beheerde handler in IIS7 werkt wel, maar dan moet ik voor elke extensie de handler instellen, bovendien heb ik javascript bestanden die in sommig gevallen door mijn eigen handler behandeld moeten worden. Wie kan mij uitleggen hoe ik m'n website op IIS7 moet configureren om dit werkend te krijgen?

Acties:
  • 0 Henk 'm!

  • Woy
  • Registratie: April 2000
  • Niet online

Woy

Moderator Devschuur®
In IIS7 hoef je toch geen Wildcard HttpHandler toe te voegen. Als je IIS7 in intergrated mode draait gaat volgens mij alles automatisch door de .net pipeline.

Volgens mij moet je de httpHanlders alleen niet meer in de system.web/httpHandlers zetten maar in de system.webserver sectie
XML:
1
2
3
4
5
6
7
8
9
10
<configuration>
  <system.webServer>
    <handlers>
      <add name="SampleHandler" verb="*" 
        path="SampleHandler.new" 
        type="SampleHandler, SampleHandlerAssembly" 
        resourceType="Unspecified" />
    </handlers>
  <system.webServer>
</configuration>

“Build a man a fire, and he'll be warm for a day. Set a man on fire, and he'll be warm for the rest of his life.”


Acties:
  • 0 Henk 'm!

  • wibber
  • Registratie: Februari 2001
  • Laatst online: 29-12-2024
Je hebt gelijk! Ik heb de handler toegevoegd in de system.webServer sectie en dan werkt het eigenlijk meteen, ik hoef geen handlertoewijzingen meer in te stellen. Bedankt.