Webservice funktioniert mit einer Konfiguration aber nicht mit der anderen
-
inflames2k schrieb:
Übrigens krieg ich dein Minimalbeispiel ohne Anpassungen meinerseits garnicht zum laufen.
Auch als Fragesteller hab ich keine Glaskugel und kann zu "Geht nicht" nichts sagen.
Zu deinen app.config-Dateien: Na klar, du hast ja auch den Port geändert. Wenn ich einen anderen Port verwende als 8731 oder 8732, dann sagt er AccessDenied. Gib's zu, du hast es nicht als Nutzer mit beschränkten Rechten ausgeführt.
-
Definiere "Als Nutzer mit beschränkten Rechten"?
Der Witz ist, das ich ohne "Als Administrator ausführen" - garkeinen WCF-Service gestartet bekomme. Und das ist nicht nur auf Arbeit wo ich eingeschränkt bin so, sondern auch zu Haus auf meinem privat Notebook den Service ohne Administratorrechte nicht gestartet bekomme.
Die Portanpassung war Zufall und hat mit dem Problem nichts zu tun, ich machs aber auch gern nochmal mit deinen Config's.
Zu dem geht nicht: Das fängt schon beim fehlenden Zertifikat an.
- Zu dem als Administrator ausführen -
Mir ist klar, das ich mittels netsh den Port manuell an den Namespace binden kann. Aber das ist bescheuert. - Wieso hast du als Entwickler überhaupt nur eingeschränkte Rechte?!
Aber wie gesagt zu dem NETSH hilft dir ja der von mir vorhin gegebene Link... Denn er hat !!!genau!!! dein Problem.
-
inflames2k schrieb:
Definiere "Als Nutzer mit beschränkten Rechten"?
Ein Benutzer in Windows 7, der kein Administrator ist.
inflames2k schrieb:
Der Witz ist, das ich ohne "Als Administrator ausführen" - garkeinen WCF-Service gestartet bekomme.
Merkwürdig. Bei mir geht es, zumindest mit der einen app.config.
inflames2k schrieb:
Die Portanpassung war Zufall und hat mit dem Problem nichts zu tun
Doch, hat es zum Teil. Denn nur dieser eine Port bringt überhaupt einen AlreadyInUse-Fehler. Alle anderen Ports bekommen direkt einen AccessDenied-Fehler, und zwar mit beiden app.configs.
inflames2k schrieb:
Zu dem geht nicht: Das fängt schon beim fehlenden Zertifikat an.
Ja, stimmt, das mit dem Zertifikat hätte ich rausnehmen sollen, da hast du recht.
inflames2k schrieb:
Mir ist klar, das ich mittels netsh den Port manuell an den Namespace binden kann. Aber das ist bescheuert.
Hab ich auch nicht gemacht. Ich hab nur nachgeguckt, welche Ports belegt sind und gesehen, dass der Port, den ich benutze, eben nicht schon von einem anderen Programm besetzt ist. Das ich mit netsh irgendwas einstelle, hab ich nirgendwo gesagt.
inflames2k schrieb:
Wieso hast du als Entwickler überhaupt nur eingeschränkte Rechte?!
Wieso sollte ich Administratorrechte haben, nur weil ich Entwickler bin?
inflames2k schrieb:
Aber wie gesagt zu dem NETSH hilft dir ja der von mir vorhin gegebene Link... Denn er hat !!!genau!!! dein Problem.
In dem Link steht:
Than check if HTTP listening is registered on that port by calling:
netsh http show urlacl
If so use following command to remove that registration:
netsh http delete urlacl url=http://+:54321/MyService
Und was habe ich bereits gesagt? Dass bei mir der Port nicht(!!!) bereits durch ein Programm belegt ist. Ich sehe in netsh keinen Eintrag, wo der Port benutzt wird, der mir durch Visual Studio als belegt angezeigt wird. Ansonsten würde es doch gar nicht funktionieren. Aber es funktioniert nur mit einer ganz bestimmten app.config nicht, mit der anderen schon. Wie oft soll ich das eigentlich noch erklären? Aber gut, bitte. Hier nochmal die Zusammenfassung:
Wir haben NICHT das Problem, dass der Port tatsächlich nachweislich durch ein anderes Programm belegt ist. Nirgendwo erscheint der Port aufgelistet, und sobald ich mein Programm mit der ersten app.config starte, funktioniert auch alles und er beschwert sich nicht mehr, dass der Port irgendwo belegt wäre.
Die Meldung, dass der Port belegt ist, kommt NUR wenn ich das Programm mit der zweiten app.config starte. Und der Fehler ist nicht mehr da, sobald ich die erste app.config nehme.
Irgendwelche Sachen mit netsh zu entfernen, dürfte nichts bringen, da die Portbelegung ja sowieso kein allgemeines Problem ist, sondern NUR auftritt, wenn ich eine ganz bestimmte app.config nehme und NICHT MEHR auftritt, wenn ich eine andere app.config nehme.
-
Mehr als versuchen, dir zu helfen kann ich nicht. Bei mir persönlich funktioniert es, wenn ich es als Administrator ausführe was für WCF völlig legitim ist.
Bzgl. warum du als Entwickler Administratorrechte haben solltest: Das fängt schon allein bei der Tatsache an, dass du Entwickler bist. Ich hab keine Ahnung was du bisher schon alles gemacht hast, aber es gibt einige Dinge die beim Entwickeln von Anwendungen zu Problemen führen können, wenn man die Rechte nicht hat.