Куда ушел «CookieContainer» в веб-сервисах Visual Studio 2008/2010?(Постоянное сохранение файлов cookie в WCF) - PullRequest
1 голос
/ 29 ноября 2011

Кажется, это очень простой вопрос, но после нескольких часов исследований здесь и в Интернете, я начинаю думать, что, возможно, задаю неправильные вопросы или делаю что-то не так.

В любом случае, у меня есть веб-сервис, который используется для входа в систему, при успешном завершении возвращается cookie заголовка, и последующие вызовы других служб, использующих этот cookie, будут считаться аутентифицированными.Возможно, это не самая безопасная или лучшая практика, но у меня есть такая служба

. На Java я просто беру cookie из ответа успешного входа в систему и перехожу на другие вызовы

* 1006.* Например (я знаю, некоторые вызовы устарели, а Ось 1 вообще устарела, но используйте ваше воображение)
// get the cookie
Call authCall = service1Locator.getCall();
org.apache.axis.MessageContext msgContext = authCall.getMessageContext();
String cookie = msgContext.getStrProp(HTTPConstants.HEADER_COOKIE);

// Standard binding
Service2Locator service2Locator=new Service2Locator();
Service2SoapBindingStub service2=(Service2SoapBindingStub)service2Locator.getSomeService();
service2Locator.setMaintainSession(true);

// And now - SET THE COOKIE
service2._setProperty(HTTPConstants.HEADER_COOKIE,cookie);

(оригинальный пример здесь )

Насколько это может быть старым, неправильным или небезопасным (не так ли?), Я бы хотел сделать то же самое в .NET

Я видел комментариев на CookieContainer, но мой сервис(автоматически сгенерированный VS Express 2010) не имеет такого свойства ...

Каков эквивалентный способ получения файла cookie от одного вызова службы и его передачи другому (для эмуляции некоторой персистентности сеанса какбраузер будет делать это автоматически)

(я все еще хочу использовать простой "добавить ссылку на службу" автоматически созданный клиент веб-службы .NET, если это возможно)

1 Ответ

2 голосов
/ 30 ноября 2011
...