Вопрос по http.sys, c#, http, winhttp – Что означает фраза «резервирование URL в HTTP.SYS»?

3

Не могу понять значение этой фразы. Люди на форумах предлагают друг другу зарезервировать URL в HTTP.sys, но что это значит? Для чего это? Как это работает? Все это происходит из-за проблем с UttpWebRequest.

Ваш Ответ

1   ответ
9

Несколько Win32 API и компонентов .NET Framework (таких как WCF) используютAPI HTTP-сервера когда они хотят отправлять или получать HTTP-запросы, направленные на локальный компьютер. API-интерфейс HTTP-сервера в основном обеспечивает такую функциональность способом, управляемым операционной системой, без необходимости развертывания на компьютере автономного веб-сервера, такого как IIS.

На данный момент, вероятно, лучше процитировать приведенную выше страницу Центра разработки:

A reservation persistently allocates a portion of the URL namespace to individual users allowing them to reserve or "own" that part of namespace. Reservations give the user the right to register to service requests for the namespace. The HTTP Server API ensures that users do not register URLs from portions of the namespace that they do not own. In order to ensure namespace security, ACLs (Access Control List) are applied to the portion of the namespace reserved for each user.

Reserved namespaces are identified by URL prefix strings, formatted in the same fashion as URL prefixes used for registrations. This means that all the various host specifier categories are also available for reservations.

Namespace reservations are persisted across reboots, and changes take effect dynamically so there is no need to stop and restart the machine.

Это означает, что перед тем, как API-интерфейс HTTP-сервера позволит вам прослушивать входящие запросы к определенному пространству имен URL (представьте это как & quot; URL path & quot;), вы должныregister для них. Регистрация выполняется на основе учетной записи пользователя, как указано выше, так что здесь важноthe user account under which the process that wants to listen to the request runs, который может отличаться от учетной записи текущего пользователя.

Ответ действительно указывает на соответствующее справочное руководство. Это руководство, помимо прочего, имеетthis pageчто, вероятно, объясняет, что вам нужно.
Это не объясняет, как на самом деле зарезервировать URL. Это настраивается вручную на панели управления? Есть ли API? (Я могу найти только HttpAddUrl, который регистрирует, но не резервирует.) Этот ответ на самом деле не отвечает на вопрос, потому что он на самом деле не объясняет резервирование.

Похожие вопросы