Domanda

  1. Abbiamo implementato un sito .net asp.net 4 su IIS 6.0.
  2. Default.aspx si configura come uno dei documento predefinito.
  3. Quando si accede al sito utilizzando il seguente URL

http://testsite

Ci aspettiamo che rendere

http://testsite/Default.aspx

Ma invece otteniamo 404 Not found error. Non abbiamo avuto questo problema quando è stato distribuito su .Net 2.0. L'unica cosa che è cambiata sul server è che usiamo .NET 4 invece di .NET 2.0.

Aggiorna :. Ho provato il seguente link, ma non ha funzionato

Come un'applicazione ASP.NET 4 di lavorare su IIS6

La versione quadro sul server è .NET 4 RC. Intende aiutare se installare l'ultima versione di .NET 4 sul server?

Aggiornamento: Il problema è stato risolto ora. Il problema era un terzo controllo di caricamento partito che stavamo usando che ha aggiunto la propria HttpHandler nel web.config. Questo HttpHandler iniziato non riuscendo in .NET 4.

È stato utile?

Soluzione

Controllare i log del server, che probabilmente vi darà una migliore idea di quello che sta succedendo.

È possibile trovare il percorso del file di registro facendo clic destro del sito in IIS e vai alla proprietà. Poi goto la scheda Sito Web, sotto 'Abilita registrazione' fare clic su Proprietà e la finestra di proprietà di registrazione verrà visualizzato che visualizza il percorso del file di log.

Altri suggerimenti

Con il nuovo framework .NET 4, arriva qualche problema se si esegue su IIS 6 su Windows Server. IIS 6 non ti permettono di avere più di un quadro al momento in esecuzione nella stessa istanza come IIS7 in grado di creare pool di applicazioni mira quadro diverso. Quando IIS 6 piste in ASP.NET 2.0 (3.0 e 3.5 sono superset, non quadri) che si sta per colpire questo errore se l'applicazione è 4.0 Errore di configurazione Descrizione: Si è verificato l'errore Un durante l'elaborazione di un file di configurazione necessario per soddisfare la richiesta. Si prega di rivedere i dettagli dell'errore specifico seguito e modificare il file di configurazione in modo appropriato. Messaggio di errore del parser: attributo non riconosciuto 'targetFramework'. Si noti che i nomi degli attributi sono case-sensitive.

Source Error: 
Line 11:     </configSections> 
Line 12:     <system.web> 
Line 13:         <compilation debug="true" targetFramework="4.0"> 
Line 14:         </compilation> 
Line 15:         <pages controlRenderingCompatibilityVersion="3.5" clientIDMode="AutoID"/>   </ system.web>

Hai un paio di opzioni;

  1. Downgrade l'applicazione .NET a 3,5 che Visual Studio 2010 rende veramente facile. Basta andare al portale -> scheda Applicazione e v'è una goccia giù con tutte le versioni quadro, selezionare 3.5, è VS2010 sarà ricaricare il progetto e modificare il web.config, se è stata aggiunta riferimento al servizio web, che potrebbe essere necessario eliminarli e li ri-aggiungere 3,5
  2. Per configurare l'IIS6 e web di configurazione per risolvere il problema. Ho a che fare con la seconda parte:

  3. In IIS 6 console, è necessario fare clic destro si proietta e fare clic sulla proprietà e controllare la scheda ASP.Net se è selezionato o meno Framework 4. In caso contrario selezionare il quadro 4.

Ma ancora si può affrontare lo stesso errore a causa del pool di applicazioni; si potrebbe avere lo stesso pool di applicazioni per due diverse applicazioni framework web. IIS 6 non ti permettono di avere più di un quadro al momento in esecuzione nella stessa istanza (mezzi piscina singola applicazione non può utilizzare per due quadri diversi) come IIS7 che può creare pool di applicazioni mira quadro diverso.

  1. Per risolvere questo problema è necessario creare pool di applicazioni e assegnato questo pool di applicazioni a voi framework 4 applicazione web. Per assegnare il pool di applicazioni, in consolle IIS aprire la sezione delle proprietà della web application, e fare clic sulla scheda e la selezione del pool di applicazioni “Home directory” che avete creato in precedenza dal menu a tendina.
  2. Questo due potrebbero ora risolvere il problema completamente qualche volta. È possibile ottenere l'errore come “404 pagina non è stata trovata”. Anche se si potrebbe ora avere alcun problema, mentre in tempi di sviluppo.
  3. In fondo pagina non è stata trovata problema è causa di altri problemi, che è impostato nascosto da è IIS6. Ma avete bisogno di vedere la vera causa. Quello che avete fare qui è andare alla console IIS6 aperto “nodo di estensione del servizio web” che si trova proprio sotto il nodo “sito Web predefinito”. Si vedrà l'intero elenco quadro ASP.Net laggiù, per impostazione predefinita questi quadri potrebbero essere vietate in modo selezionare ASP.Net Framework 4 e fare clic sul pulsante consentono. Sfoglia il vostro sito web ora, si ottiene altro errore accanto a “404 pagina non è stata trovata”. Si potrebbe ottenere l'errore come elencato di seguito:
  4. Il valore per l'attributo 'compilerVersion' nelle opzioni del provider deve essere 'v4.0' Vedrete seguente errore durante la navigazione del sito Il valore per l'attributo 'compilerVersion' nelle opzioni del provider deve essere 'v4.0' o poi se state compilando per la versione 4.0 o successiva del .NET Framework. Per compilare questa applicazione Web per la versione 3.5 o precedenti del .NET Framework, rimuovere l'attributo 'targetFramework' dall'elemento del file web.config. Per risolvere questo problema, è necessario modificare il file di configurazione web come di seguito:     

In precedenza il valore CompilerVersion è impostato come v3.5 ma abbiamo già cambiare il nostro targetFranework a 4. Così, secondo il messaggio di errore sopra l'attributo 'compilerVersion' nelle opzioni di provider deve essere 'v4.0' o poi se si è compilazione per la versione 4.0 o successiva del .NET Framework.

Hence your new setting will be as below:

    <providerOption name="CompilerVersion" value="v3.5"/>

Spero che questo risolverà il vostro ASP.Net 4 migrazione e di hosting questione in IIS6.

Questo è il link per una soluzione più completa e la spiegazione di questo:

http://johan.driessen.se/archive/2010/04/13/getting-an-asp.net-4-application-to-work-on-iis6.aspx

Credo che in 4.0 l'impostazione della pagina predefinita è effettivamente memorizzata nel web.config. Con l'IIS 7.0, IIS legge il web.config determinare che cosa fare per la pagina di default. Credo che IIS 6.0 non è la lettura l'impostazione.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top