Sie können nicht.
Betrachten Sie den Code:
if(AddressIsFree(addr))
{
OpenServiceOn(addr);
}
Was sonst, wenn etwas passiert den Hafen in diesem Bruchteil einer Sekunde zwischen dem Check registriert, und wenn Sie den Service öffnen? Es ist eine Wettlaufbedingung.
Der richtige Weg, um dies zu umgehen, ist einfach versuchen, den Port zu öffnen, und die Ausnahme abfangen, wenn es fehlschlägt, und etwas tun, um zu kompensieren. Ausnahmen sind nicht schlecht. Sie existieren zum Teil genau aus diesem Grund. Es gibt keinen Grund, zu versuchen und zu tun viel sicherer als eine Ausnahme zu machen Überprüfung nicht geworfen werden - in den meisten Fällen nur versuchen, den Betrieb und die Ausnahme abfangen, wenn sie auftritt.
Sie sind in der Regel nicht einmal viel mehr Code.
möglicherweise Sie suchen, wie http://stackoverflow.com/questions/283145/how-to-prevent-visual-studio-launch-wcfsvchost-exe-in-debuggin – Abdu