2013-01-04 43 views
0

我的要求如下: 服務只能爲一個客戶提供服務。如果額外的客戶端嘗試提供呼叫服務,它將通知錯誤/異常(或errorCode)的客戶端。如果maxConCurrentInstances在WCF中交叉,我可以避免排隊嗎?

MaxConCurrentInstances可以一次限制請求的數量,但它不希望排隊來自其他客戶端的請求。我只是想以異常或錯誤終止該請求?

是否可以用MaxConCurrentInstances實現還是需要使用其他的東西?

由於提前, Ujj​​wal

+2

爲什麼不創建單例服務實例?那麼它*將*在當時只提供一個客戶端 – Axarydax

+0

我不認爲服務單身人士會限制客戶數量。它只會確保相同的服務實例在不同的調用(或客戶端)之間共享(如果我在這裏理解錯了,請糾正我)。如果將它與Concurrency.Single組合在一起,它將一次提供一個請求。我想要實現的是一種映射。一旦一個客戶端連接到該服務,其他客戶端將無法訪問服務,直到首次斷開連接。 – Ujjwal

回答

1

什麼有兩種方法 - 網關方法,將設置一個標誌,進入真正方法,做第一個用戶工作,並拋出一個異常/回報旗子打開時其他用戶爲假?那麼,當真正的方法結束時,它放下標誌,另一個「第一」用戶可以使用該方法?

+0

是的,我認爲,我只能繼續使用這種方法。理想情況下,我想使用WCF的功能來實現這一點,但現在看來沒有一個適合這種需求。 – Ujjwal

+0

很好聽。如果答案對您有幫助,請將其標爲正確 – Axarydax

相關問題