![](/img/trans.png)
[英]How to enable remote access in my local application - IIS Windows 10
[英]How to change property Enable32BitAppOnWin64 of Application Pool on IIS 7 on Windows Azure?
我有第三方库的项目,这个库是为32位系统而制作的。 但我的项目将在Windows Azure上运行,我必须在Windows Azure运行我的应用程序之前将应用程序池的属性Enable32BitAppOnWin64设置为true。 有什么方法可以设置此属性(以编程方式配置)? 如果我只能以编程方式执行此操作,那么我必须在代码中更改它吗? 我可以在WebRole的OnStart事件中这样做吗?
我只是必须这样做。 我使用启动任务来更改此设置。
我创建了一个批处理文件并添加了以下命令:
%windir%\system32\inetsrv\appcmd set config -section:applicationPools -applicationPoolDefaults.enable32BitAppOnWin64:true
然后我添加了批处理文件作为启动脚本运行到azure配置。 它没有任何问题。
有关启动任务的更多信息,请参阅此处: http : //msdn.microsoft.com/en-us/library/gg456327.aspx
在调用powershell脚本的启动批处理文件中添加上述命令后,该脚本以某种方式失败,我的云服务无法启动。 我最终更改了WebRole.cs文件,它在Azure云服务(Windows Server 2012 R2)中工作,如下所示:
using Microsoft.Web.Administration;
namespace KDC.UserWeb.RoleEntryPoint
{
{
public override bool OnStart()
{
Enable32BitAppPool();
return base.OnStart();
}
{
base.Run();
}
public static void Enable32BitAppPool();
{
ServerManager serverManager = new ServerManager();
ApplicationPoolCollection applicationPoolCollection = serverManager.ApplicationPools;
foreach (ApplicationPool applicationPool in applicationPoolCollection)
{
if( !String.IsNullOrEmpty(applicationPool.Name) && applicationPool.Name[0] != '.' )
{
serverManager.ApplicationPools[applicationPool.Name].Enable32BitAppOnWin64 = true;
serverManager.CommitChanges();
}
}
}
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.