Wie Sie add-cookie auf HttpTransportBindingElement
Bin ich mit einer WCF-client, die kommuniziert mit einem WCF-Dienst (läuft AspNetCompabilityMode), und ich möchte hinzufügen, eine cookie (auf dem client) zu jedem Aufruf dieser web-service.
Ich habe mir die HttpTransportBindingElement, aber ich kann nicht finden, wo Sie meine cookie - ist es möglich, ein cookie, um die HttpTransportBindingElement, oder sollte ich in Betracht ziehen, einen anderen Ansatz?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Beschriebene Methode http://kennyw.com/indigo/153 arbeitet auf einer per-service-call-basis. Dies bedeutet, dass Sie haben, um sicherzustellen, dass alle Aufrufe der WCF-service sind gemacht
nach die OperationContextScope - Objekt erstellt und vor es angeordnet ist, für diese zu arbeiten. Ansonsten wird das cookie nie zu der Anforderung Hinzugefügt.
Wenn Sie sich für eine zentralisierte Lösung, um manuell einen cookie, um alle ausgehenden HTTP-Anfragen an die WCF-Dienst haben Sie einen Blick auf diesen thread:
http://social.msdn.microsoft.com/Forums/en-US/wcf/thread/624fb3f9-222d-4795-9140-fe9ef3934361/
http://megakemp.wordpress.com/2009/02/06/managing-shared-cookies-in-wcf/
Im Gegensatz zu anderen Handbüchern, die in den anderen Antworten, diese enthält alle Informationen, die Sie brauchen, in einem Ort, in einer gut strukturierten Art und Weise.
Müssen Sie die allowCookies Konfiguration option für Ihre Bindung an false. Das klingt seltsam, aber es erklärt warum hier:
http://kennyw.com/indigo/211
Sobald Sie das tun, müssen Sie die cookies selbst mit der Methode hier beschrieben:
http://kennyw.com/indigo/153