WCF ServiceHostを起動してlocalhost Webサーバーをホストする未使用ポートを特定するにはどうすればよいですか?空のポートを見つけてWCF Webを起動する方法ServiceHost
私は現在サービスを静的に起動していますhttp://localhost:XXXXここでXXXXはコード内の静的な値です。
私はGetUnusedPort(とXXXXを交換したいと思います)を呼び出し...
任意の考え?
WCF ServiceHostを起動してlocalhost Webサーバーをホストする未使用ポートを特定するにはどうすればよいですか?空のポートを見つけてWCF Webを起動する方法ServiceHost
私は現在サービスを静的に起動していますhttp://localhost:XXXXここでXXXXはコード内の静的な値です。
私はGetUnusedPort(とXXXXを交換したいと思います)を呼び出し...
任意の考え?
ベストは、あなたが開いている一つの選択肢を見つけるまで試みた...
http://forums.devshed.com/net-development-87/c-how-to-determine-if-a-port-is-in-use-371148.html
public static bool TryPortNumber(int port)
{
try
{
using (var client = new System.Net.Sockets.TcpClient(new System.Net.IPEndPoint(System.Net.IPAddress.Any, port)))
{
return true;
}
}
catch (System.Net.Sockets.SocketException error)
{
if (error.SocketErrorCode == System.Net.Sockets.SocketError.AddressAlreadyInUse /* check this is the one you get */)
return false;
/* unexpected error that we DON'T have handling for here */
throw error;
}
}
サービスをホストするポートをユーザーに選択させてみませんか?たとえば、アプリケーションの構成ファイルにServiceHostに渡す値を追加します。ポート番号をランダムに生成し、開いているかどうかをテストして、別のアプリケーションがすでにそれを使用している場合は、プロセスを繰り返すこともできます。私は見つけることができる
の理由の任意の数。彼は、事前に知られていない、したがって個別に構成することができない、動的に生成された1つ以上のサービスを開始している可能性があります。 –