WCF連接服務(wù)超時解決辦法手冊
WCF開發(fā)框架在實際使用中經(jīng)常會遇到一些問題。我們可以再實踐中積累經(jīng)驗來應(yīng)對這些問題。今天我們要了解的是有關(guān)WCF連接服務(wù)超時的相關(guān)解決問題。#t#
調(diào)用服務(wù)器端時,當(dāng)點擊十次后,客戶端就會出現(xiàn)死機,然后是一份鐘超時。
System.TimeoutException: 對“http://localhost:3768/”的 HTTP 請求已超過為 00:01:00 分配的超時。為此操作分配的時間可能是較長超時的一部分。
查找原因后發(fā)現(xiàn)客戶端在使用完通道后,沒有進行釋放。而服務(wù)器端默認的連接數(shù)為10,所以10次后,服務(wù)器端的連接數(shù)沒有釋放,導(dǎo)致新的連接無法訪問服務(wù)。
WCF連接服務(wù)超時解決辦法如下:
1、首先保證客戶端每次建立的連接在使用完成后進行關(guān)閉.即調(diào)用Close方法,否則此連接會在設(shè)置的會話后才自動關(guān)閉(該自動響應(yīng)時間一般為10分鐘,InactivityTimeOut屬性),期間任何客戶端也無法使用此服務(wù).
2、可以增加默認連接連接數(shù).配置文件如下:
< serviceThrottling maxConcurrentCalls="20" maxConcurrentSessions="20" maxConcurrentInstances="30" />
說明:maxConcurrentCalls :***并發(fā)數(shù),默認為16
maxConcurrentSessions :***的會話數(shù),主要針對于PerSession的情況,默認為10
maxConcurrentInstances:***實例數(shù),默認為26
以上就是WCF連接服務(wù)超時的相關(guān)解決方法介紹。