所以我在程序上在IIS 6.0中创建一个虚拟目录,但我正在关注创建虚拟目录的唯一MSDN(或其他)文档,但是我在
的文档http://msdn.microsoft.com/en-us/library/ms525598(VS.90).aspx
导致我的虚拟目录成为IIS中的应用程序。我试图使用配置数据库属性页面:
但是在选项范围内,我不确定我需要设置哪些属性来严格地将其规定为虚拟目录:
DirectoryEntries vdirs = site.Children;
DirectoryEntry newVDir = vdirs.Add(vDirName, (className.Replace("Service", "VirtualDir")));
newVDir.Properties["Path"][0] = phyPath;
newVDir.Properties["AccessScript"][0] = true;
newVDir.Properties["AppFriendlyName"][0] = vDirName;
newVDir.Properties["AppIsolated"][0] = "0";
newVDir.Properties["AppRoot"][0] = "/LM" + metaBaseFullPath.Substring(metaBaseFullPath.IndexOf("/", ("IIS://".Length)));
newVDir.CommitChanges();
答案 0 :(得分:1)
尝试不设置应用专用池特定条目。所以只是:
newVDir.Properties["Path"][0] = phyPath;
newVDir.Properties["AccessScript"][0] = true;
newVDir.CommitChanges();
暂时没有这样做,但我认为就是这样
答案 1 :(得分:1)
metabase.xml
中的%systemroot%\windows\system32\inetsrv
文件是您最好的朋友。如果在IIS MMC中创建虚拟目录,则可以看到需要设置的必需属性属性:
在这里,我在一个站点中创建了一个名为myvdir
的虚拟目录,这是保存到metabase.xml
的配置数据库配置:
<IIsWebVirtualDir
Location ="/LM/W3SVC/1/root/myvdir"
AccessFlags="AccessRead | AccessScript"
DirBrowseFlags="DirBrowseShowDate | DirBrowseShowTime |
DirBrowseShowSize | DirBrowseShowExtension |
DirBrowseShowLongDate | EnableDefaultDoc"
Path="D:\websites\myapp\www\myvdir" >
答案 2 :(得分:1)
据我记忆,你不能通过属性将IIsWebVirtualDir设置为应用程序(或不是),而是通过调用它上的方法。在您的情况下,您必须调用“AppDelete”。
newVDir.Invoke("AppCreate", 1);
或
newVDir.Invoke("AppCreate2", new object[] { 0 });
newVDir.Invoke("AppDelete");
有关这些方法及其参数的详细信息,请参阅ADSI文档,但您必须将代码示例转换为C#语法。