2011-02-10 40 views
14

Sto scrivendo un'applicazione console che copierà il file dal mio disco locale al file server. Questa cartella sta proteggendo tramite nome utente e password. Il metodo File.Copy() non funziona. Fornisce un errore di autorizzazione. I have looked to this codeFile.Copy() al file server con credenziali di rete

L'ho provato ma non funziona. Prima è stato scritto in VB ma ho cambiato il codice in C# ma ci sono degli errori. Non so cosa significa questo errore. Forse si può consigliarmi altro modo di coping file per file server protetto

con semplici File.Copy (bla bla) mi dà "non hai il permesso"

quando mi sono convertito codice VB a C# gived mi errore sotto: Ha tentato di leggere o scrivere memoria protetta

ho trovato soluzione

You can Follow It

+4

posso consigliare di inviare gli errori. –

+0

Invece di "un altro modo", proviamo a ottenere il modo in cui hai provato a lavorare. Che tipo di errori vedi quando converti quel codice? –

+0

quando ho convertito il codice in C# mi ha dato errore di seguito: Tentativo di leggere o scrivere memoria protetta. Questo è spesso un'indicazione che un'altra memoria è corrotta. sono sicuro di averlo cambiato correttamente ma in una riga non sono sicuro. questa linea è Dim admin_token Come IntPtr l'ho cambiato in IntPtr admin_token = new IntPtr(); – AEMLoviji

risposta

18

È possibile utilizzare il little impersonation class che ho scritto qualche anno fa:

using (new Impersonator("myUsername", "myDomainname", "myPassword")) 
{ 
    // code that executes under the new context. 
    File.Copy(x, y); 
} 
+1

in futuro lustrerò il tuo codice se il mio codice non funzionerà :-) penso che il tuo codice sia corretto . Grazie per la risposta – AEMLoviji

+1

ho bisogno del tuo aiuto. posso annullare null per il parametro Domain? – AEMLoviji

+0

È possibile utilizzare un singolo punto "." per indicare che il database dell'account locale è in uso. 'Environment.MachineName' potrebbe funzionare anche, suppongo. –

Problemi correlati