[英]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.