2009-08-13 6 views
9

Nous avons des gestionnaires HTTP spécifiés dans notre web.config. Lorsque nous utilisions ce site via un projet de site Web, tout fonctionnait correctement. Mais pour une raison quelconque, après avoir porté ce projet vers un projet WAP et pointant vers le framework .NET 3.5, les gestionnaires ne fonctionnent pas lorsque j'appelle le site dans IIS 7 sur notre boîte de dev. Ai-je besoin de faire quelque chose de spécial dans IIS7 autre que les gestionnaires personnalisés spécifiés qui existent déjà dans mon web.config?Personnalisé Http Handlers IIS7 et ASP.NET

Lorsque je regarde la section Handler Mappings dans IIS 7 pour notre site, je vois les 3 gestionnaires listés avec notre extension personnalisée. Il semble donc que nous récupérons nos gestionnaires spécifiés dans notre web.config. Mais je sais que les gestionnaires qui travaillaient sur un site Web non-wap ne travaillent pas dans ce projet WAP et je ne sais pas pourquoi.

Par exemple, lorsque l'un de nos gestionnaires essaie de lancer quand je reçois référencé:

Erreur du serveur dans l'application «/». Erreur de l'analyseur Description: Une erreur s'est produite lors de l'analyse d'une ressource requise pour traiter cette demande. Veuillez consulter les détails d'erreur d'analyse spécifiques suivants et modifier votre fichier source de manière appropriée.

Parser Error Message: Could not create type 'jaxHandler'. 

Source Error: 

Line 1: 
Line 2: 
Line 3: using System; 


Source File: /jaxHandler.ashx Line: 1 

Version Information: Microsoft .NET Framework Version:2.0.50727.3074; ASP.NET Version:2.0.50727.3074 

En outre, lorsque je tente de cliquer sur un lien hypertexte sur notre site qui a .customextension sur elle le gestionnaire ne semble pas pour le ramasser.

Alors, quand je clique sur le lien, je reçois:

HTTP Error 404.0 - Not Found 
The resource you are looking for has been removed, had its name changed, or is temporarily unavailable. Detailed Error InformationModule IIS Web Core 
Notification MapRequestHandler 
Handler StaticFile 
Error Code 0x80070002 
Requested URL http://sss:80/somename.prod 
Physical Path C:\www\sss\somename.prod 
Logon Method Anonymous 
Logon User Anonymous 

(j'ai remplacé le texte réel « somename » et notre nom de la société avec « sss ») dans le cas ci-dessus pour la vie privée.

Si je regarde dans la section Http Handlers dans IIS7, je vois que * .prod est enregistré. Et voici comment nous l'avons mis en place dans notre web.config sous la rubrique personnalisée:

<add name="sss" path="*.prod" verb="*" modules="IsapiModule" scriptProcessor="C:\Windows\Microsoft.NET\Framework\v2.0.50727\aspnet_isapi.dll" resourceType="Unspecified" preCondition="bitness32"/> 
+0

Veuillez élaborer. "Ça ne marche pas" ne me dit pas grand-chose. –

+0

ok, j'ai ajouté beaucoup plus de détails. – PositiveGuy

Répondre

0

Ce que vous devez faire est de construire votre code.

Vous devez copier tout le code C# dans un fichier .ashx.cs. En fait, je vous recommande de créer un nouveau fichier .ashx et de copier le code C# dans son fichier .ashx.cs.

Les sites Web se développent dynamiquement. Les projets d'application Web, comme tous les autres types de projets similaires dans Visual Studio, doivent avoir du code dans les fichiers source et avoir ce code dans un assemblage.

+0

le .ashx n'a pas de code derrière. Je vois. Oui, parce que c'était dans un projet de site Web. Gotcha – PositiveGuy

+0

Vous l'avez, mais dites "site web" - ce ne sont pas des projets. –

+0

bien, en quelque sorte ils sont. – PositiveGuy

25

Pour les applications ASP.NET en cours d'exécution sur IIS7, HttpHandlers doit être mis en correspondance dans la section <system.webServer> de votre web.config. Dans IIS6, ils ont été mappés dans la section <system.web>.

<system.webServer> 
    <handlers> 
     <add name="HandlerName" 
      path="HandlerPath" verb="*" type="Handler.Type" 
      resourceType="Unspecified" /> 
    </handlers> 
</system.webServer> 
+1

oui, nous avons les nôtres mappés à webServer car ce site est déjà en cours d'exécution sur notre serveur prod dans IIS7 – PositiveGuy

Questions connexes