2010-02-23 8 views
9

Ho provato a postare questo su ServerFault senza fortuna, quindi sto provando qui.Creazione di un'applicazione senza cook sulla macchina di sviluppo con asp.net

Sto pensando di creare un nuovo dominio per ospitare il contenuto statico sul mio sito Web e farlo funzionare come StackOverflow con il loro static domain. Quindi, prima di andare avanti e acquistare il dominio e impostarlo, volevo testarlo sul mio computer di sviluppo prima sotto localhost (devo menzionare che sto pianificando di avere IIS in esecuzione sul mio nuovo dominio per i file statici).

Ho quindi creato una nuova applicazione in IIS e stato sessione disabilitato e autenticazione moduli. Quando la mia applicazione principale necessita di risorse come css, images e js, utilizzo il percorso dell'applicazione "statica" in cui sono ospitate.

Il problema è che quando guardo la richiesta e la risposta per i file richiesti, hanno ancora il cookie session_id definito così come il cookie di autenticazione asp.net.

È possibile realizzare ciò che sto cercando di fare su una macchina di sviluppo o devo semplicemente andare avanti e acquistare il nuovo dominio che si spera con le cose giuste? Ho provato a leggere dei domini senza padrone, ma non riesco a capire cosa potrei mancare.

Aggiornamento

mia messa a punto è stata la seguente. Ho creato due applicazioni web. - Un'applicazione web per il sito web - un'applicazione web per tutto statici (CSS, immagini, script ...)

vengono aggiunti Entrambe le applicazioni a IIS e nessuno di loro è un sotto-applicazione dell'altro. (Sono entrambi siti Web separati nella struttura IIS).

Mi sono chiesto se avere entrambi i siti web con lo stesso IP avrebbe potuto spiegare i miei risultati ma quando ho installato entrambi i siti, il problema è scomparso.

+0

Puoi descrivere un po 'di più la tua configurazione? Dici di creare una nuova applicazione ma dovresti davvero creare un nuovo sito Web associato a un indirizzo IP e/o numero di porta e/o nome host diversi. Non è possibile creare una nuova applicazione sotto lo stesso sito web. È necessario creare due siti Web separati. –

+0

@MarcoMiltenburg Bene, non sono io che ho fatto la domanda, in primo luogo, ci metto solo la grazia. l'OP deve chiedere un nuovo sito web sulla stessa macchina/IP. Dal momento che è solo per scopi di sviluppo. –

+0

Scusate per la mia risposta in ritardo, ragazzi! In effetti ero interessato solo a far funzionare questa installazione su una macchina di sviluppo e mi sono fortemente affidato a controllare le informazioni sulla richiesta usando firebug per accertarmi che i cookie non fossero effettivamente utilizzati. Mi sentivo davvero come se le risposte seguenti non avessero abbastanza dettagli, ma forse avrei dovuto aggiungere più informazioni alla mia domanda. Si scopre che dopo aver distribuito il mio sito web statico su un host diverso, ha semplicemente "funzionato". Ho intenzione di aggiornare la mia domanda per includere dettagli sulla mia configurazione. – ak3nat0n

risposta

7

assicurarsi di avere le seguenti impostazioni web.config:

  • <sessionState mode="Off" />
  • <authentication mode="None" />

penso che è tutto, anche se non ho provato.Per essere sicuri, è possibile utilizzare la consulenza di Creating Static Content Website in IIS 7 che disabilita tutti i moduli e solo riabilita se necessario:

<system.webserver> 
    <modules> 
     <clear /> 
     <add name="StaticFileModule" ... /> 
     ... 
    </modules> 
    ... 
</system.webserver> 

PS: Vedere this answer per suggerimenti su come impostare i valori della cache.

1

L'idea di base:.

  1. Fare un nuovo sito web in IIS (mappare a un sottodominio o renderlo un sito totalmente separata volte suddomains non sono sufficienti se gli utenti accedono al sito da http://example.com invece di http://www.example.com dal momento che nel primo caso i cookie verranno probabilmente inviati anche al nuovo sottodominio).
  2. DISATTIVARE ASP.NET tutti insieme in IIS per il nuovo sito. Se sono solo contenuto statico, allora non è necessario ASP.Net abilitato
  3. caricare il tuo contenuti statici e collegamento via

Riferimento:
- Stopping cookies being set from a domain (aka "cookieless domain") to increase site performance
- How to respect "Serve static content from a cookieless domain" page speed rule in IIS6?
- Avoiding cookies while requesting static content

0

Hai provato Response.Cookies.Clear() alla fine del metodo di caricamento della pagina? Questo dovrebbe eliminare tutti i cookie dall'oggetto Response e nessun cookie verrà inviato al client. Questo potrebbe essere fatto anche in un modulo web o HttpHandler.

+0

Il concetto che sta cercando non è rimuovere i cookie ma non usarli affatto –

+0

Quindi non vuole che ASP.NET crei una sessione? E 'quello che sta cercando? –

Problemi correlati