IMO это то, что происходит, когда вы используете технологию с плохой абстракцией по HTTP, такую как WCF.Тот факт, что веб-сервисы WCF теоретически могут быть размещены без HTTP (т. Е. Через NET TCP, MSMQ и т. Д.), Просто затрудняет использование встроенных функций HTTP без входа в ад настройки и запускает игру «угадайте правильную конфигурацию»методом проб и ошибок ", где вы пробуете все возможные конфигурации перестановки, пока не найдете правильную работающую!
В конечном итоге, если вы не можете использовать WCF и вам нужно было реализовать веб-сервис с нуля, вы просто установитеcookie, когда клиент успешно прошел аутентификацию.Затем с каждым клиентским запросом просто получайте информацию о сеансе, на которую ссылается этот файл cookie.
Одно из возможных решений, если вам пришлось использовать WCF, - это взять управление сеансом в свои руки (Это то, что я делаю, когда я 'я недоволен усилиями, необходимыми для того, чтобы заставить что-то работать) и имею явное свойство 'Session' для всех ваших веб-сервисов, которые требуют сеанса / аутентификации (обычно это guid, генерируемый при аутентификации).Таким образом, для каждого последующего запроса вы используете гид для повторной обработки информации о сеансе, связанной с этим клиентом.
Если вы заинтересованы в испытании различных структур веб-служб, я поддерживаю Open Source Web Services Framework это позволяет создавать неконфигурируемые, СУХИЕ, тестируемые веб-сервисы, где (без какой-либо конфигурации) каждый создаваемый веб-сервис автоматически доступен через конечные точки REST XML, JSON, JSV, SOAP 1.1, SOAP 1.2.По сути, он позволяет вам получить доступ к той же веб-службе через URL-адрес HTTP GET для клиентов REST-ful и простую отладку, а также конечные точки SOAP (популярный выбор, который по-прежнему требуется некоторыми предприятиями).Учебное пособие Hello World должно дать вам хорошее представление о некоторых его функциях и о том, как оно работает.