簡體   English   中英

如何限制WCF服務應用程序,以便只有唯一的客戶端可以訪問

[英]How To Limit a WCF Service Application, So That Only Unique Clients Can Access

我在c#中有一個wcf服務(例如msdn示例中的Calculatorservice),我想知道是否可以將其限制為每個IP僅服務1個客戶端?

我希望可以一​​次連接幾個IP(至少5-6個活動會話),並且現在可以使用,但是我不希望每個唯一IP(或唯一計算機)連接超過1個

如果您一次需要5個打開的會話,並且您說maxConcurrentInstances僅導致1個可用的客戶端,您是否將InstanceContextMode設置為= PerSession? 您很可能將其設置為Single,在這種情況下,maxConcurrentCalls無效。 將其更改為PerSession,並且顯示的限制配置ForeverDebugging可以工作。

我取得了一些進展。 當客戶端第一次調用該服務時,在構造函數中,我保存其IP地址和當前操作上下文。

然后,如果來自同一ip的某人連接,我將中止該ip地址使用的先前通道(最新連接具有優先級):

operationContext.Channel.Abort();

我測試了它,它似乎釋放了會話,以便其他人可以使用它,但是我不確定-這是最好的解決方案嗎?

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM