詳細(xì)說明WFC端口配置問題
本文主要講述WFC端口的配置問題,怎樣制定WFC端口。這些內(nèi)容都是一些門戶網(wǎng)站和技術(shù)論壇找到的,中間可能有不少錯(cuò)誤是我沒有挑出的,歡迎大家指正。希望大家多多學(xué)習(xí)。
對(duì)于一些常用網(wǎng)絡(luò)服務(wù),WFC端口他們都有一個(gè)知名的端口好與之匹配。比如,F(xiàn)TP服務(wù)是用的TCP端口為21;Telnet服務(wù)的TCP端口為23等等。而對(duì)于客戶端通常對(duì)所使用的端口并不關(guān)心,只需要保證端口在本機(jī)是***的就可以了,這樣的端口又成為臨時(shí)端口,臨時(shí)端口一般在1024到5000之間。
一般來講,在某一個(gè)時(shí)刻,一個(gè)端口只能供一個(gè)應(yīng)用程序使用。對(duì)于WCF來說,當(dāng)我們通過一個(gè)托管的應(yīng)用程序?qū)δ硞€(gè)服務(wù)進(jìn)行寄宿的時(shí)候,一個(gè)端口被該應(yīng)用程序獨(dú)占使用。如何多個(gè)寄宿進(jìn)行使用相同的端口。#t#
在下面的WFC端口例子中,我通過兩個(gè)不同的控制臺(tái)應(yīng)用程序?qū)蓚€(gè)服務(wù),Service1和Service2進(jìn)行寄宿,兩個(gè)服務(wù)的終結(jié)點(diǎn)地址共享相同的端口:9999。
當(dāng)我們先后運(yùn)行這兩個(gè)服務(wù)WFC端口寄宿應(yīng)用程序,***個(gè)能夠正常運(yùn)行,但是對(duì)于第二個(gè),則會(huì)拋出如下一個(gè)AdressAlreadyInUseException異常,錯(cuò)誤信息為:
- using(ServiceHost serviceHost = new ServiceHost(typeof(Service1)))
- {
- serviceHost.AddServiceEndpoint(typeof(IService1), new NetTcpBinding(), "net.tcp://127.0.0.1:9999/service1");
- serviceHost.Open();
- Console.Read();
- }
- }
IP 終結(jié)點(diǎn) 127.0.0.1:9999 上已有偵聽器。請(qǐng)確保未在應(yīng)用程序中多次嘗試使用該終結(jié)點(diǎn),并確保沒有其他應(yīng)用程序在偵聽該終結(jié)點(diǎn)。