FormsAuthentication для метода веб-службы? Хранить учетные данные аутентификации в куки? В этой истории так много всего плохого. (Примечание: тяжелая запутанность кода должна восприниматься как знак.)
Назначение блоков кода, по-видимому, заключается в использовании структуры cookie для идентификации пользователя во время вызова метода. Предполагается, что пользователь уже прошел проверку подлинности и что файл cookie для проверки подлинности присутствует во всех запросах.
РЕДАКТИРОВАТЬ: немного больше информации о «куки-файлах на стороне сервера» - ссылки, которые вы видите на System.Net.Cookie и так далее .Net Framework классы для обработки куки-файлов. Cookies - это фрагменты данных на стороне клиента, которые находятся либо в памяти клиента (обычно это веб-браузер), и / или сохраняются в виде текстовых файлов где-то в локальной файловой системе клиента. Большинство веб-приложений, которые устанавливают файлы cookie на стороне клиента, предполагают, что имеют дело с веб-браузером, поскольку все основные поставщики браузеров поддерживают файлы cookie.
Когда для запроса URL-адреса используется веб-браузер, в фоновом режиме отправляется множество информации, скрытой от пользователя: IP-адрес, тип браузера и ОС и т. Д. В этот список входят файлы cookie. для данного домена URL (есть правила HTTP, с которыми согласны браузеры). Код, который вы просматриваете, - это конкретные классы .Net Framework для структурированной обработки этих значений файлов cookie.
Большинство приложений, использующих веб-сервисы, полностью не сохраняют состояния - нет файлов cookie, нет сеансов и ничего. Хотя клиент веб-службы может реализовать поддержку файлов cookie, предполагать или требовать поддержку файлов cookie для веб-службы глупо.
В сценарии кода, который вы отлаживали для обнаружения нулевых значений, скорее всего, вызывающее приложение не поддерживает куки, что фактически делает весь блок кода недействительным. Это разбито по замыслу.
Я не могу найти разумный способ улучшить этот блок кода, который не включает разрушение всей структуры. Учитывая предполагаемый уровень вашего знакомства, потратьте немного времени на веб-безопасность 101. Ознакомьтесь с понятиями аутентификации, сеансов (и файлов cookie). Вы поймете, что готовы приступить к работе, как только вы поймете, что безопасность это то, что ты не изобретаешь сам.