我需要提高urlSegmentMaxLength http.sys注册表设置 在Windows Azure上。有人知道该怎么做吗? (或做导致等效行为的事情)

有帮助吗?

解决方案

看起来那些Reg键在HKLM中。我不相信您可以在没有管理员访问权限的情况下更改那些(您今天在Windows Azure中没有)。

除非有另一种方法可以覆盖它(例如在web.config中),否则我认为您不幸直到管理员模式出现。

其他提示

1)在您的Web项目中添加.CMD文件。将构建操作设置为“无”,然后将输出目录复制到“始终复制”。

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)在您的Azure角色的servicedefinition.csdef中,添加.cmd作为启动任务:

<WebRole name="WebRoleName">
  ...
  <Startup>
    <Task commandLine="httpSys.cmd" executionContext="elevated" />
  </Startup>
</WebRole>

4)部署您的Azure角色,应该进行注册表更改。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top