Zum Inhalt springen

Socketexception beim Start


Lsteinme

Empfohlene Beiträge

Hi,

das problem zu beschreiben ist etwas schwierig, weil ich selbst nur schwammige Vermutungen hab wo es her kommt, und der Fehler nicht grade ausdruckstark ist.

Mein Programm hat unter Windows XP immer super funktioniert, sowohl wenn ich es auf der Lokalen Festplatte gestartet habe, als auch wenn ich es von unserem Fileserver gestartet habe.

Unter Windows 7 (64Bit) jedoch, funktioniert das Programm bei mir auf der Lokalen festplatte noch einwand frei.

Versuche ich aber das Programm vom Fileserver zu starten, startet das Programm erst garnicht richtig und steigt direkt mit: "Programm funktioniert nicht mehr" aus.

Als ich auf dem Server mal das Projekt mit dem Debugger starten wollte, kam der Debugger garnicht erst in meinen Code und stieg mehr oder minder direkt nach dem buildvorgang mit einer Socketexception aus.

Leider sind die Details zur Exception recht mager, hier das was ich über view Detail, der Fehlermeldung erfahren konnte:

Data: {System.Collections.ListDictionaryInternal}(Count=0)

ErrorCode:10022

StackTrace:

at System.Net.Sockets.Socket..ctor(AddressFamily addressFamily, SocketType socketType, ProtocolType protocolType)

at System.Net.Sockets.TcpListener..ctor(IPAddress localaddr, Int32 port)

at System.Runtime.Remoting.Channels.ExclusiveTcpListener..ctor(IPAddress localaddr, Int32 port)

at System.Runtime.Remoting.Channels.Tcp.TcpServerChannel.SetupChannel()

at System.Runtime.Remoting.Channels.Tcp.TcpServerChannel..ctor(IDictionary properties, IServerChannelSinkProvider sinkProvider, IAuthorizeRemotingConnection authorizeCallback)

at System.Runtime.Remoting.Channels.Tcp.TcpChannel..ctor(IDictionary properties, IClientChannelSinkProvider clientSinkProvider, IServerChannelSinkProvider serverSinkProvider)

at Microsoft.VisualBasic.ApplicationServices.WindowsFormsApplicationBase.RegisterChannel(Boolean SecureChannel)

at Microsoft.VisualBasic.ApplicationServices.WindowsFormsApplicationBase.Run(String[] commandLine)

at PRIME.My.MyApplication.Main(String[] Args) in 17d14f5c-a337-4978-8281-53493378c1071.vb:line 81

at System.AppDomain._nExecuteAssembly(Assembly assembly, String[] args)

at System.Runtime.Hosting.ApplicationActivator.CreateInstance(ActivationContext activationContext, String[] activationCustomData)

at Microsoft.VisualStudio.HostingProcess.HostProc.RunUsersAssemblyDebugInZone()

at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)

at System.Threading.ThreadHelper.ThreadStart()

Kennt jemand diese Art von Fehler, oder kann mir zumindest einen Denkanstroß geben in welcher Richtung ich nach dem Grund des Fehlers suchen muss?

Ich bin aktuell ratlos, meine einzigen 2 Vermutungen wären das irgendwas im Buildscript für windows 7 anders sein müsste oder das der Server mit W7 bzw 64 Bit Betriebssystem nicht klar kommt.

Gruß Lucas

Link zu diesem Kommentar
Auf anderen Seiten teilen

Sind die Ports, mit denen du den TcpListener erstellst, auf dem Rechner vielleicht einfach gesperrt oder bereits anderweitig belegt?

Und: Ist das die exakte Fehlermeldung, die du in deinem Catch-Block ausgegeben bekommst? Irgendwie meine ich mich zu erinnern, dass die etwas "sprechender" waren, bevor die Aufrufhistorie angehängt wird.

Gruß, Goulasz

/Edit: Meinst du nicht, ein Thread reicht?

Link zu diesem Kommentar
Auf anderen Seiten teilen

ich kann erst garkeinen TryCatch block einbauen, weil der Fehler entsteht bevor mein eigentlicher Code gelesen wird.

Edit: Doch, weis nicht wieso der 2te erschienen ist

Im Errorstacktrace ist meine App nur einmal enthalten, und dieses Stelle ist leider auserhalb des Codes den ich direkt sehe:

at PRIME.My.MyApplication.Main(String[] Args) in 17d14f5c-a337-4978-8281-53493378c1071.vb:line 81

oder weiß jemand wie ich an das file dort ran komme um einen Trycatch block um diese Zeile 81 zu setzten?

Bearbeitet von Lsteinme
Link zu diesem Kommentar
Auf anderen Seiten teilen

[...]stieg mehr oder minder direkt nach dem buildvorgang mit einer Socketexception aus.[...]

Stieg er oder stieg er nicht? Haltepunkte setzen, prüfen, glücklich sein ;). Initialisierst du den Listener vielleicht schon, bevor du ihn in "deinem eigentlichen Code" verwendest? Was passiert außer dem Einbinden der Libs denn sonst noch relevantes, bevor du deinen Kram ausführst, was zu einer SocketException führen könnte?

Gruß, Goulasz

Link zu diesem Kommentar
Auf anderen Seiten teilen

Das ist das Problem, ich habe keine Ahnung was diese Socketexception aus löst. Da ich bis dato keine Erfahrung in sachen Win7 und Fileserver(mit os Netapp) habe frage ich hier nach.

Wenn ich den Haltepunkt auf die erste Methode meins Codes der aufgerufen werden sollte setzte(loadmethode der ersten GUI, wird dieser erst garnicht angesteuert, heißt die Exception kommt vor eintritt in meinen von mir/meinen Vorgängern geschrieben Code auf, also im autogenerierten.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Okay, nach Tagen der suche nach den Problemen, die Socketexception war nur die Spitze des Eisberges, bin ich auf das wahre Problem gestoßen:

Aus welchem Grund auch immer fehlen meiner Application MANCHMAL bestimmte Sicherheitsbefugnisse. Die Application ist unter .net 3.5 entwickelt. Wie "markiere" ich meine Application so das sie egal wer sie ausführt immer Vollständige Sicherheitsberechtigungen anfordert? Aus den Artikeln zum Thema Securitypermissions die ich per Google gefunden habe bin ich irgendwie nicht so ganz schlau geworden.

PS: das This is a full trust application im Security reiter der Project-Propertys hatte keine Wirkung.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Okay, nach Tagen der suche nach den Problemen, die Socketexception war nur die Spitze des Eisberges, bin ich auf das wahre Problem gestoßen:

Aus welchem Grund auch immer fehlen meiner Application MANCHMAL bestimmte Sicherheitsbefugnisse. Die Application ist unter .net 3.5 entwickelt. Wie "markiere" ich meine Application so das sie egal wer sie ausführt immer Vollständige Sicherheitsberechtigungen anfordert? Aus den Artikeln zum Thema Securitypermissions die ich per Google gefunden habe bin ich irgendwie nicht so ganz schlau geworden.

PS: das This is a full trust application im Security reiter der Project-Propertys hatte keine Wirkung.

du hast anscheinend das sicherheitskonzept von windows nicht verstanden. beschäftige dich mit der Funktionsweise der UAC und wie man im einklang mit der UAC programmiert.

Link zu diesem Kommentar
Auf anderen Seiten teilen

... wie man im einklang mit der UAC programmiert.

klingt irgendwie wie ein Buddistischer Lehrspruch^^ ne aber Spass bei Seite, müsste dann nicht alles funkionieren wenn ich das tool als Admin starte?

Ich hab in zwischen übrigens was entdeckt, vielleicht kann sich das ja wer erklären oder mir sagen wie ich den Compiler dazu zwinge es richtig zu machen.

Wenn meine Zugriffe klappen, wird neben den Libs die ich über den Reference Reiter eingetragen habe noch die Assembly System.EnterpriseServices vom Compiler geladen.

Das tut er aber leider nicht immer, bei denen bei (zum beispiel) die Datenbank funktionen nicht klappen wird diese Assembly nicht geladen.

Das Problem daran ist, wenn ich die Assembly einfach in die References aufnehme hilft das nichts, da ich sie nie direkt im Code verwende, fliegt sie sofort wieder beim Compilieren raus.

Ps, das gleiche Programm läd, bei denen bei denen es nicht klappt, einmal die Enterprise Lib(auf einer lokalen festplatte) und einmal nicht(auf dem übers Intranet erreichbaren Fileserver). Bei denen bei denen es klappt, läd der Compiler die Assembly auf beiden Pfaden.

Link zu diesem Kommentar
Auf anderen Seiten teilen

klingt irgendwie wie ein Buddistischer Lehrspruch^^ ne aber Spass bei Seite, müsste dann nicht alles funkionieren wenn ich das tool als Admin starte?

Nein...Hier ein Video von der BASTA bzw. Dominick Baier, zwar zum Thema "Windows 8 Security", aber ab ca. 20. / 21.Minute wird es vielleicht verständlicher.

Windows-8-Security für App-Entwickler - YouTube

Link zu diesem Kommentar
Auf anderen Seiten teilen

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...