用程序修改IIS目錄的Asp.Net版本
本文將介紹一個(gè)方法用于修改虛擬目錄的Asp.Net版本.
ASP.NET IIS 注冊(cè)工具
使用ASP.NET IIS 注冊(cè)工具 (Aspnet_regiis.exe)可以方便地更新 ASP.NET 應(yīng)用程序的腳本映射,使其指向與該工具關(guān)聯(lián)的 ASP.NET ISAPI 版本.
關(guān)于ASP.NET IIS 注冊(cè)工具的更詳細(xì)的內(nèi)容,請(qǐng)參考MSDN.
在控制臺(tái)上我們使用下面的命令可以修改一個(gè)虛擬目錄的Asp.Net版本:
Aspnet_iis.exe –s path
我們知道了如何來修改一個(gè)虛擬目錄的版本,現(xiàn)在的問題就是如何使用程序來實(shí)現(xiàn)它了.
以下代碼基于.Net FrameWork 2.0 在Windows Xp sp2中編譯通過:
//創(chuàng)建一個(gè)虛擬目錄
DirectoryEntry dirRoot = new DirectoryEntry("IIS://localhost/W3SVC/1/Root");
DirectoryEntries dirs = dirRoot.Children;
DirectoryEntry virtualDir = dirs.Add("VirtualChange", dirRoot.SchemaClassName);
object[] objs = new object[] { true };
virtualDir.Invoke("AppCreate", objs);
virtualDir.Properties["AppFriendlyName"][0] = "VirtualChange";
virtualDir.Properties["Path"].Value = "C:\\VirtualChange";
virtualDir.CommitChanges();
//啟動(dòng)aspnet_iis.exe程序
string fileName = Environment.GetEnvironmentVariable("windir") + @"\Microsoft.NET\Framework\v1.1.4322\aspnet_regiis.exe";
ProcessStartInfo startInfo = new ProcessStartInfo(fileName);
//處理目錄路徑
string path = virtualDir.Path.ToUpper();
int index = path.IndexOf("W3SVC");
path = path.Remove(0, index);
//啟動(dòng)aspnet_iis.exe程序,刷新教本映射
startInfo.Arguments = "-s " + path;
startInfo.WindowStyle = ProcessWindowStyle.Hidden;
startInfo.UseShellExecute = false;
startInfo.CreateNoWindow = true;
startInfo.RedirectStandardOutput = true;
startInfo.RedirectStandardError = true;
Process process = new Process();
process.StartInfo = startInfo;
process.Start();
process.WaitForExit();
string errors = process.StandardError.ReadToEnd();
if (errors != string.Empty)
throw new Exception(errors);
Console.WriteLine(process.StandardOutput.ReadToEnd());
相關(guān)文章
ASP.net中網(wǎng)站訪問量統(tǒng)計(jì)方法代碼
這篇文章介紹了ASP.net中網(wǎng)站訪問量統(tǒng)計(jì)方法代碼,有需要的朋友可以參考一下2013-11-11ASP.NET 5中使用AzureAD實(shí)現(xiàn)單點(diǎn)登錄
本文給大家介紹的是在ASP.NET 5中使用AzureAD實(shí)現(xiàn)單點(diǎn)登錄的方法和示例,有需要的小伙伴可以參考下。2015-07-07.NET實(shí)現(xiàn)魔方游戲(一)之任意階魔方的表示
這篇文章主要介紹了.NET實(shí)現(xiàn)魔方游戲(一)之任意階魔方的表示 的相關(guān)資料,需要的朋友可以參考下2016-02-02Asp.Net二級(jí)域名共享Forms身份驗(yàn)證、下載站/圖片站的授權(quán)訪問控制
我們平時(shí)一般在做圖片或者文件下載權(quán)限控制的時(shí)候基本都是控制到下載頁面的,當(dāng)你的下載地址暴露后,瀏覽者就直接可以通過文件地址進(jìn)行下載了,這時(shí)候也就出現(xiàn)了我們常說的盜鏈2012-02-02Linux下以守護(hù)進(jìn)程方式運(yùn)行.NET6
這篇文章介紹了Linux下以守護(hù)進(jìn)程方式運(yùn)行.NET6,對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2021-12-12ASP.NET MVC @Helper輔助方法和@functons自定義函數(shù)的使用方法
本文主要介紹ASP.NET MVC中使用@Helper和@functons自定義一些代碼片段,方便視圖調(diào)用,從而達(dá)到減少重復(fù)代碼,快速開發(fā)的目的,希望對(duì)大家有所幫助。2016-04-04ASP.NET連接MySql數(shù)據(jù)庫的2個(gè)方法及示例
這篇文章主要介紹了ASP.NET連接MySql數(shù)據(jù)庫的2個(gè)方法及示例,使用的是MySQL官方組件和ODBC.NET,需要的朋友可以參考下2014-03-03在?.NET?中使用?FixedTimeEquals?應(yīng)對(duì)計(jì)時(shí)攻擊的例子
在計(jì)算機(jī)安全中,計(jì)時(shí)攻擊(Timing attack)是旁道攻擊 (Side-channel attack) 的一種,而旁道攻擊是根據(jù)計(jì)算機(jī)處理過程發(fā)出的信息進(jìn)行分析,這篇文章主要介紹了在?.NET?中使用?FixedTimeEquals?應(yīng)對(duì)計(jì)時(shí)攻擊,需要的朋友可以參考下2022-06-06.Net Core在程序的任意位置使用和注入服務(wù)的方法
這篇文章主要介紹了.Net Core在程序的任意位置使用和注入服務(wù)的方法,很多朋友對(duì)此問題都不是很清楚,于是寫這篇文章幫助大家學(xué)習(xí),需要的朋友可以參考下2018-10-10