【问题标题】:How to execute appcmd on Azure Web App box?如何在 Azure Web App 框中执行 appcmd?
【发布时间】:2017-04-05 13:18:16
【问题描述】:

我想执行一个

appcmd set config /commit:WEBROOT /section:sessionState /mode:StateServer /stateConnectionString: tcpip=loopback:42424 /stateNetworkTimeout: 120 /useHostingIdentity:True

属于 Azure Web 应用程序的框上的命令。控制台是一个“沙盒环境”,所以我不一定期望有足够的权限,但是appcmd是不被识别为命令的。

在 KUDU 特殊控制台上也发生了同样的事情 - 在执行任务的潜在权限方面看起来更有希望 - 无论是使用 CMD 还是 PowerShell 控制台。

我的主要目标是启动 IIS 的状态服务器。 How to start ASP.Net State Service in Azure 提到“启动任务”,但我不知道该怎么做。 https://technet.microsoft.com/en-us/library/cc732412(v=ws.10).aspx引号appcmd

【问题讨论】:

    标签: azure iis azure-web-app-service session-state-server


    【解决方案1】:

    根据您问题中的链接:启动任务适用于云服务中的网络/工作人员角色,而不是网络应用程序(完全不同的事情;网络/工作人员角色实例是 Windows Server 实例,而不是沙盒环境)。

    您无法在 Web 应用程序上启用 IIS 状态服务器。您需要将会话状态存储在 Redis 缓存服务之类的东西中,该服务独立于 Azure Web 应用程序运行。实际上,您可以使用 Web 应用沙箱外部的任何缓存(或存储),只要您有适合您选择的驱动程序/提供程序。

    【讨论】:

    • 我认为任务是针对角色的。无法启用状态服务器的技术原因是什么?如果我的会话状态是可序列化的,我就不会提出这个 SO Question 并立即使用 Redis 缓存。我希望我能用它。
    • 是的,启动任务专门针对角色(工作者角色和 Web 角色)。您说您正在部署到 Web Apps,这与 web/worker 角色完全不同,并且没有这样的概念。
    • 好的,谢谢。你知道State Server无法启用背后的技术原因吗?
    • 我意识到 State Server 无论如何都帮不了我,这需要对缓存对象进行序列化,就像其他任何 proc 缓存提供程序一样。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-08-05
    • 1970-01-01
    相关资源
    最近更新 更多