Domanda

Ho un'applicazione web che crea directory. L'applicazione funziona bene quando si crea una directory sul server web, tuttavia, non funziona quando si tenta di creare una directory sul nostro fileserver remota.

Il fileserver e il web server sono nello stesso dominio. Ho creato un utente locale nel nostro dominio "DOMINIO \ ASPNET". L'utente locale è su entrambi i server.

Sono in esecuzione la mia piscina App NET sotto l'utente di dominio. Ho anche provato ad utilizzare le finestre impersonate nel web.config per l'esecuzione con l'utente di dominio.

Ho verificato che l'utente di dominio ha il pieno controllo della directory remota. Nel tentativo di eseguire il debug di questo ho anche dato il "tutti" il controllo completo della directory remota.

Nel tentativo di eseguire il debug di questo ho aggiunto anche l'utente del dominio al gruppo di amministratori.

Ho una semplice pagina di prova .net sul server Web per verificare questa. Attraverso la pagina di prova sono in grado di leggere la directory sul server di file e ottenere un elenco di tutto ciò che in esso.

Non sono in grado di caricare i file o per creare directory sul server di file.

Ecco il codice che funziona:

var path = @"\\fileserver\images\";
 var di = new DirectoryInfo(path);
            foreach (var d in di.GetDirectories())
            {
                Response.Write(d.Name);
            }

Ecco il codice che non funziona:

 path = Path.Combine(path, "NewDirectory");
 Directory.CreateDirectory(path);

Ecco l'errore che sto ricevendo: L'accesso al percorso '\ fileserver \ immagini \ NewDirectory' negato.

Sono abbastanza bloccato su questo. Tutte le idee?

È stato utile?

Soluzione 2

La questione ha finito per essere un problema di percorso.

\ fileserver \ immagini \ h è stato mappato: \ files \ http \ immagini

Il servizio ha avuto autorizzazioni per l'unità a H, ma non l'azione.

Altri suggerimenti

Controllare il livello di attendibilità del server / sito. Se si sta eseguendo a meno di completa fiducia, allora potrebbe essere necessario modificare le impostazioni del FileIOPermission:

<IPermission 
   class="FileIOPermission" 
   version="1" 
   Read="$AppDir$" 
   Write="$AppDir$" 
   Append="$AppDir$" 
   PathDiscovery="$AppDir$"/>

I $AppDir$ macro valore Si espande la cartella risiede sito web a. È possibile aggiungere percorsi aggiuntivi, separandoli con un punto e virgola.

Il file è necessario modificare sarà puntato dall'impostazione <trust level=.../> nel file master web.config in C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\CONFIG, presumendo che si sta eseguendo .NET 2.0.

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