Ich habe eine WinForms-Client-Server-App, die in einem Novell-Netzwerk ausgeführt wird, das den folgenden Fehler beim Verbinden mit dem alleinigen Windows 2003-Server im Netzwerk verursacht:
%Vor%Der Netzwerkadministrator des Kunden verwaltet die Windows Server-Verbindung, indem er den Benutzernamen und das Kennwort der Arbeitsstation manuell mit einem lokalen Benutzer auf dem Server synchronisiert. Das Seltsame an dem Fehler ist, dass der Benutzer vor und nach dem Fehler auf den Server schreiben kann, ohne sich explizit anzumelden.
Können Sie erklären, warum der Fehler auftritt und eine Lösung anbieten?
Ich habe das gleiche Problem, wenn ich versuche, auf das Dateisystem eines Windows-Servers in einer anderen Domäne zuzugreifen. Das Problem besteht darin, dass das Benutzerkonto, unter dem das Programm ausgeführt wird, keinen Zugriff auf den Remote-Server hat. Windows arbeitet im Hintergrund, damit es bei der Verwendung von Windows Explorer nahtlos aussieht, da es davon ausgeht, dass Ihre Remote-Anmeldeinformationen mit Ihren lokalen Anmeldeinformationen übereinstimmen.
Wenn Sie ein Laufwerk lokal dem Remote-Server zuordnen und dann das lokal zugeordnete Laufwerk in Ihrem Code verwenden, sollte das Problem nicht auftreten. Wenn Sie ein Laufwerk nicht zuordnen können, aber die Anmeldeinformationen für den Remote-Server fest codieren können, können Sie diesen Code verwenden:
%Vor%Dann können Sie auf den Remote-Server zugreifen, indem Sie Folgendes tun:
%Vor%Für die VB.Net-Entwickler (wie mich) ist hier die VB.Net-Version:
%Vor%Und benutze es wie:
%Vor%Ich denke, Sie sollten versuchen, das Problem zu reproduzieren, und dann einen Paketmonitor verwenden, um den Netzwerkverkehr zu sehen und den Unterschied zwischen der Fehlersituation und der Erfolgssituation zu betrachten.
Schreiben Sie dann eine Anwendung, die die rohen APIs aus Windows (P / Invokes) verwendet, um Ihre Fehlersituation zu reproduzieren und herauszufinden, welche Parameter den Fehler verursachen. Wenn Sie in der Lage sind, das Problem zu lösen, dann ist es nur die Frage, wie Sie die Komponenten dazu bringen, das zu tun, was Sie wollen.
Andere Richtungen, die Sie betrachten könnten (nachdem Sie das Problem stabil reproduzieren können):
IMHO scheint es eine Art Nebeneffekt zu sein, ein abgelaufenes Authentifizierungs-Token (oder etwas ähnliches) zu aktualisieren.
Mein Fall, als Active Directory-Benutzer mit Internetzugang über einen Proxy (Squid), stöbere ich ohne Probleme, bis ich (in zufälligen Abständen) einen Fehler über fehlende Anmeldeinformationen bekomme, der durch eine Seitenaktualisierung in behoben wird der Browser, dann funktioniert alles bis zum nächsten Fehler.
An dieser Adresse ist ein Microsoft-Beispiel verfügbar: Ссылка
Aber es heißt in ihrem Beispiel: "Unter Windows Vista und höher muss dieses Beispiel als Administrator ausgeführt werden."
Diese Lösung ist also nur gut, wenn der Benutzer, der den Code ausführt, auf den meisten Plattformen admin ist.
Tags und Links .net windows networking ioexception novell