Ayrı bir WCF STS Hizmeti tarafından verilen bir güvenlik belirteci gerektiren bir WCF Hizmetim var. Her şey yolunda gidiyor. Benim uygulamada, ben şöyle servisini kullanmak: STS Hizmet jetonu almak üzere denir ve belirteci hizmeti yöntemi DoStuff çağırmak için kullanılanWCF hizmeti için güvenlik belirtecini yenilemeyi nasıl zorlayabilirim?
MyServiceClient myService = new MyServiceClient();
myService.Open();
myService.DoStuff();
.
ilk el sıkışma bittikten sonra, yine de, myService
nesne belirteci önbelleğe sahiptir ve sona kadar yeniden kullanır. Bu iyi bir davranış ve her şeydir, ancak kodunu nasıl yenileyecek? I() DoStuff denilen eğer tekrar bilemez
myService.ClientCredentials.Invalidate(); // something like this?
Böyle tekrar kadara ilk kez yaptığı gibi STS gitmek gerekir.
Sadece yanimyService = new MyServiceClient();
, yeni vekil sınıf nesnesi yapma sıkışmış muyum? Bu işe yarıyor ama nükleer bomba çözümü gibi görünüyor. Alternatif
, sadece elle mevcut olanı yeni jetonu almak ve değiştirmek için bir yol, yani myService.ClientCredentials.Renew();
var mı?
Bunu yapmak için özel bir ClientCredentials sınıf yapmak varsa, nasıl Yukarıdaki örnek yöntemlerini uygulamak?