File.Move System.IO.IOException: "Zu diesem Remotecomputer können derzeit keine weiteren Verbindungen hergestellt werden weil es bereits so viele Verbindungen gibt, wie der Computer akzeptieren kann ".File.Move System.IO.IOException: "Es können keine weiteren Verbindungen zu diesem Remotecomputer hergestellt werden ..."
Ich habe einen Prozess unter SYS-Konto ausgeführt. Es verarbeitet Dateien auf lokaler Festplatte und verschiebt sie mithilfe von Identitätswechsel auf ein Remote-Laufwerk in einer Domäne.
bearbeiten, hinzugefügt Codebeispiel:
Das Verfahren unten wiederholt aufgerufen wird (Der Identitätswechsel eine Utility-Klasse, die ich für den Identitätswechsel verwenden, dies auf die Frage irrelevant ist).
private void moveFileUsingImpersonation(string srcFilePath, string dstFilePath, string userName, string passWord)
{
WindowsImpersonationContext wic = null;
// move it to destination
try
{
wic = Impersonation.Impersonate(userName, passWord);
if (wic != null)
{
File.Move(srcFilePath, dstFilePath);
}
else
{
Console.WriteLine("moveFileUsingImpersonation, Failure to impersonate!");
}
}
catch(Exception ex)
{
Console.WriteLine("moveFileUsingImpersonation, Exception={0}", ex.ToString());
}
finally
{
Impersonation.UndoImpersonate(wic);
}
}
bearbeiten, hinzugefügt Codebeispiel.
Wenn der Prozess auf XP-Computer ausgeführt wird und das Remote-Laufwerk auf XP oder Win7-Maschine ist, funktioniert der Aufruf von File.Move einwandfrei und verschiebt die erforderlichen Dateien. Wenn der Prozess jedoch auf Win7 ausgeführt wird und sich Remote auf Win7-Computer befindet, wird die genannte Ausnahme ausgelöst, nachdem 20 Dateien verschoben wurden.
Ich habe auch versucht, den Win32-API MoveFileEx mit dem MOVEFILE_REPLACE_EXISTING & MOVEFILE_COPY_ALLOWED & MOVEFILE_WRITE_THROUGH Fahnen zu nennen, mit dem gleichen Ergebnis - ERROR_REQ_NOT_ACCEP 71 (0x47).
Es scheint, dass die zugrunde liegende Verbindung, die durch den Aufruf von File.Move hergestellt wird, nicht ordnungsgemäß auf Win7 geschlossen wird.
Gibt es eine Möglichkeit, dies zu überwinden?
Was fehlt mir hier?
Danke, Ilan
Es ist ein bisschen schwer zu sagen, was Sie hier ohne ein Codebeispiel vermissen. Was hast du probiert? http://mattgememm.com/2008/12/08/what-have-you-tried/ – David
@ David Stratton, Vielen Dank für Ihre Antwort, haben einen Beispielcode hinzugefügt. –