国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > .NET > 正文

修改IIS目錄的Asp.Net版本

2024-07-10 13:07:00
字體:
來源:轉載
供稿:網友

目前已經有很多介紹創建iis虛擬目錄的文章了,我個人也翻譯過一篇.
但是這些文章只介紹如何來創建、刪除一個虛擬目錄,卻沒有介紹如何修改一個虛擬目錄的asp.net版本.如果機子上裝有兩個版本以.net framework,在創建時將使用iis中默認使用的版本,而默認的版本又不是你需要的,那怎么辦?在部署后手動修改?還是在部署時直接使用程序修改呢?
本文將介紹一個方法用于修改虛擬目錄的asp.net版本.

asp.net iis 注冊工具

使用asp.net iis 注冊工具 (aspnet_regiis.exe)可以方便地更新 asp.net 應用程序的腳本映射,使其指向與該工具關聯的 asp.net isapi 版本.
關于asp.net iis 注冊工具的更詳細的內容,請參考msdn.
在控制臺上我們使用下面的命令可以修改一個虛擬目錄的asp.net版本:

aspnet_iis.exe –s path

我們知道了如何來修改一個虛擬目錄的版本,現在的問題就是如何使用程序來實現它了.

以下代碼基于.net framework 2.0 在windows xp sp2中編譯通過:


//創建一個虛擬目錄
            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();
            //啟動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);
            //啟動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());

 


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 平乡县| 营山县| 长沙市| 平和县| 辽源市| 泽普县| 伊金霍洛旗| 安溪县| 漳平市| 彭阳县| 商南县| 平定县| 长岭县| 高阳县| 遵义市| 门头沟区| 炉霍县| 普格县| 丰镇市| 湄潭县| 彰化市| 眉山市| 武冈市| 九寨沟县| 苗栗市| 普兰县| 汽车| 迁西县| 游戏| 商水县| 柘荣县| 砀山县| 法库县| 富蕴县| 会东县| 类乌齐县| 南郑县| 遵义市| 井冈山市| 漯河市| 新宁县|