配置SignalR与Appcmd.exe的Azure上的Web应用程序
问题描述:
你能给的你如何在Azure中的Web应用程序跑APPCMD与SignalR更多的细节,因为它需要管理员权限?我不认为下面会出于这个原因。配置SignalR与Appcmd.exe的Azure上的Web应用程序
protected void Application_Start()
try
{
var windowsDir = Environment.GetEnvironmentVariable("windir");
var command = System.IO.Path.Combine(windowsDir, @"System32\inetsrv\appcmd.exe set config/section:system.webserver/serverRuntime/appConcurrentRequestLimit:10000");
Process.Start(command);
}
catch (Exception ex)
{
Trace.WriteLine(ex.GetBaseException().Message);
}
}
答
Azure的Web应用程序在运行sandbox。我们没有权限编写系统驱动器。通过在驱动器上的ACL所控制
系统驱动器访问
应用程序可以读取系统驱动器。应用无法写入系统驱动器上的任何位置,在沙箱中实现(即即使允许的ACL系统驱动器上写入的位置,沙箱会限制它)。
但是,如果您选择Azure云服务,我们可以使用appcmd.exe in startup task。当然,它会像一个魅力,如果选择Azure的VM作为Web服务器。