2013-03-12 8 views
5

Sto tentando di eseguire le pagine ASP classiche nella modalità di linea di conduttura integrata di di IIS 7. Pertanto, ho aggiunto la seguente mappatura del gestore in Web.Config.Mappatura gestore per le pagine di estensione Asp Asp Classic con errori in modalità linea di conduttura IIS integrata

add name="ASPClassic" 
path="*.asp" 
verb="GET,HEAD,POST" 
modules="IsapiModule" 
scriptProcessor="C:\Windows\Microsoft.NET\Framework\v4.0.30319\aspnet_isapi.dll" 
requireAccess="Script" 
resourceType="Unspecified" 

Ma, quando sono richieste pagine ASP, Applicazione server non disponibile errore è sollevato e il dettaglio di registro eventi dell'applicazione ha detto che:

Una richiesta mappato aspnet_isapi.dll è stato realizzato all'interno di un'applicazione pool in esecuzione in modalità .NET integrata. Aspnet_isapi.dll può essere utilizzato solo quando si esegue in modalità Classic .NET. Specificare preCondition = "ISAPImode" nel mapping del gestore per eseguirlo solo nei pool di applicazioni in esecuzione in modalità Classic .NET oppure spostare l'applicazione in un altro pool di applicazioni in esecuzione in modalità .NET classica per utilizzare questo mapping gestore.

Dove ho sbagliato?

risposta

0

Potrebbe essere che per eseguire le pagine asp class in IIS 7 è ancora necessario installarlo? (Non è installato di default su IIS 7.)

Vedi qui come aggiungere il modulo asp seconda castrato la tua su Windows7 o Windows Server 2008: http://www.iis.net/configreference/system.webserver/asp

Btw: che cosa si sta cercando di fare è davvero script mapping in modalità pipeline classica.
Consulta anche: processore http://www.iis.net/learn/application-frameworks/building-and-running-aspnet-applications/wildcard-script-mapping-and-iis-integrated-pipeline_

10

Lo script per Classic ASP non è:

C:\Windows\Microsoft.NET\Framework\v4.0.30319\aspnet_isapi.dll

ma:

%windir%\system32\inetsrv\asp.dll

Ecco il corretto inserimento mapping del gestore dal file di IIS7 applicationHost.config quando è installato Classic ASP:

<add name="ASPClassic" 
    path="*.asp" 
    verb="GET,HEAD,POST" 
    modules="IsapiModule" 
    scriptProcessor="%windir%\system32\inetsrv\asp.dll" 
    resourceType="File" /> 

Sembra che tu non hai installato Classic ASP sul server o workstation.

Su Windows 7 è necessario andare a Pannello di controllo -> Programmi e funzionalità quindi fare clic su "Attiva o disattiva funzionalità Windows". Otterrete una finestra che assomiglia a questo, assicurarsi che "ASP" è spuntato:

enter image description here

Su Windows 2008R2 andare a Pannello di controllo -> Strumenti di amministrazione -> Server Manager. Fare clic su "Ruoli" nel pannello di sinistra, quindi scorrere verso il basso fino a "Web Server (IIS)".Ci dovrebbe essere un elenco di "servizi ruolo" come questo (ho evidenziato ASP che viene installato sul server ho preso questa schermata da):

enter image description here

Se ASP non è installato quindi clicca su " Aggiungi servizi ruolo "e spunta la casella di spunta ASP sotto Web Server -> Sviluppo applicazioni e fai clic su Avanti per completare l'installazione.

Se tutto va bene, allora si dovrebbe vedere il mapping dei gestori in Gestione IIS:

enter image description here

+0

davvero apprezzare il vostro contributo. Lo controllerò e segnerò la tua risposta accettata il prima possibile. –

+0

L'ho trovato durante la risoluzione di un problema diverso, e ho scoperto che non ho installato ASP classic, eppure ** gli script ASP funzionano correttamente sulla mia macchina **. Com'è possibile? –

+0

@JoshuaFrank - Quale sistema operativo stai utilizzando? – Kev