Domanda

So che ci sono almeno due approcci per sfruttare il file web.config:

Ora, il mio problema è che entrambi gli approcci funzionano bene solo per percorsi fisici . Ma devo indirizzare un file di configurazione che si trova in una directory virtuale .

Quale altro metodo posso usare per mettere le mie risorse di configurazione in una directory virtuale?

Nota: voglio farlo in questo modo, perché ho più istanze della mia applicazione web sullo stesso server (e quello su molti server). Per mantenere la distribuzione facile e pulita, voglio mantenere una directory per tutti i file (aspx, ascx, immagini, css, js ecc.) E puntare le app Web in IIS per diversi clienti (= domini, https ecc.) A questo directory singola. In ogni Web IIS avrei una directory virtuale chiamata " custom " che punta a una cartella diversa per ogni Web.

Aggiornamento: vorrei sottolineare che questa directory virtuale " custom " non è adatto a contenere un web.config ereditato - quel web.config sarebbe valido solo per la cartella personalizzata che non contiene file aspx / ascx.

È stato utile?

Soluzione

Ho lo stesso scenario e dopo aver letto i tuoi post mi sono reso conto che asp.net non ti consentirà di farlo per vari motivi di sicurezza.

Pertanto mi sono rivolto al sistema operativo per trovare un equivalente alla funzione di collegamento soft di Linux che a sua volta mi ha portato alla Utilità di giunzione da sysinternals. Questo può creare una directory che è in realtà qualsiasi altra directory su quel volume e asp.net non può dire la differenza e così felice carica le sezioni di configurazione che non sono in realtà in una sottodirectory del tuo sito web. Funziona per me :)

Altri suggerimenti

Le directory virtuali possono essere impostate come applicazioni e puoi semplicemente posizionare un altro web.config lì.

Erediterà tutte le modifiche dalla configurazione principale e puoi aggiungere impostazioni personalizzate al suo interno.

Stavo cercando di fare la stessa cosa ma non ha funzionato, quindi ho deciso di fare il contrario, dato che sai che web.config può essere ereditato, quindi ho indicato IIS su una cartella contenente la configurazione del client (stringa di connessione , file percorso ecc.) e i file del sito Web li ho messi in una directory virtuale con il resto del webconfig (dove carica dll e altri file dell'applicazione necessari) Quindi, fondamentalmente, posso usare i file del sito Web per più client e client con la loro stringa di connessione al database e altre impostazioni client specifiche.

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