IIS上に複数のアプリケーションプールとWebを作成するアプリケーションを作成しています。32ビットIISアプリケーションプールを有効にするc#
私はそのうちの1つで32ビットアプリケーションを有効にする必要があります。
どのようにプログラムで行うことができますか?
IIS上に複数のアプリケーションプールとWebを作成するアプリケーションを作成しています。32ビットIISアプリケーションプールを有効にするc#
私はそのうちの1つで32ビットアプリケーションを有効にする必要があります。
どのようにプログラムで行うことができますか?
IISバージョンを指定していません。ここで説明するように、古いもののために 、一つはDirectoryServicesを使用することができます。 https://msdn.microsoft.com/en-us/library/ms525598%28v=vs.90%29.aspx?f=255&MSPPError=-2147217396
を私が正しくrememeber場合は32ビットのためのプロパティが「Enable32BitAppOnWin64」でなければなりません。ここで説明するように
IIS 7+のために、あなたはMicrosoft.Web.Administration名前空間を使用する必要があります。 https://www.iis.net/learn/manage/scripting/how-to-use-microsoftwebadministration
これは、管理APIです。投稿された参照を確認するか、少し実験してください。
また、IISメタベース互換性がIIS 7にインストールされている場合は、最初のソリューションも有効です。 (新しいシステムでは使用不可)DirectoryServicesを使用して
例:
var appPool = new DirectoryEntry(string.Format("IIS://{0}/w3svc/apppools/DefaultAppPool", Environment.MachineName));
//Integrated mode
appPool.InvokeSet("ManagedPipelineMode", new object[] { 0 });
appPool.InvokeSet("MaxProcesses", new object[] { 1 });
//Enable 32-bit Applications
appPool.InvokeSet("Enable32BitAppOnWin64", new object[] { true });
appPool.CommitChanges();
は、あなたが "プログラム的" とはどういう意味ですか?あなたは、そのプールで実行されているアプリ内からですか?私はあなたがプール内からそれを変更できることを非常に疑う。 –
[この記事](https://blogs.msdn.microsoft.com/rakkimk/2007/11/03/iis7-running-32-bit-and-64-bit-asp-net-versions-at-the-同じ時に別のワーカープロセス/)は、(他の方法の中でも)コマンドラインからそれを行う方法を示しています。 –
powershellはこれを行うことができます。https://forums.iis.net/t/1181048.aspxを参照してください.C#のみを使用してください.AppCmd.exeが必要な可能性はありません。 –