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