Изменить настройки реестра HTTP.SYS в Windows Azure?
Вопрос
Мне нужно поднять URLSEGGEGEMEGEMAXLENGH Http.sys Настройки реестра на Windows Azure. Кто-нибудь знает, как это сделать? (или сделать что-то, что приводит к эквивалентному поведению)
Решение
Похоже, эти клавиши Reg находятся в HKLM. Я не верю, что вы можете изменить их без доступа администратора (который у вас нет в Windows Azure сегодня).
Если нет другого способа переопределить это (вроде в web.config), я думаю, что вам удачи, пока не придет режим администратора.
Другие советы
1) Добавьте файл .cmd в ваш веб-проект. Установите Action Action на «Нет» и скопируйте в каталог «Копировать всегда».
2) Обновить файл .cmd. Вот пример сценария, который я использовал, который проверяет, установлено ли изменение реестра, и если он не изменяет реестр, а затем перезагрузите сервер (требуется перезагрузка - просто перезагружение службы HTTP заставляет развертывание Azure Никогда не заканчивать цикл).
@echo off
setlocal
set regpath=HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\HTTP\Parameters
reg query "%regpath%" /v "AllowRestrictedChars"
if errorlevel 1 (
reg add %regpath% /v AllowRestrictedChars /t REG_DWORD /d 00000001
reg add %regpath% /v UrlSegmentMaxCount /t REG_DWORD /d 00000000
reg add %regpath% /v PercentUAllowed /t REG_DWORD /d 00000001
reg add %regpath% /v UrlSegmentMaxLength /t REG_DWORD /d 00000000
shutdown /r /t 0
)
3) В вашей роли вашей лазурной сети .CSDEF, добавьте .CMD в качестве задачи запуска:
<WebRole name="WebRoleName">
...
<Startup>
<Task commandLine="httpSys.cmd" executionContext="elevated" />
</Startup>
</WebRole>
4) Разверните роль Azure, и изменения реестра должны были произойти.