求助IIS编程问题!!!急

Geoleung 2010-10-18 06:52:43
我现在手头有很多ASP.NET网站,现在想通过C#编程的方式发布到IIS的“默认网站”节点的目录下。

有此方面开发经验的朋友可以贴出源码或者思路给我,例如我要将我本地上的“F:\SDSS\WebPrj\Website”网站,发布到IIS的默认网站节点下,如何实现呢?感谢啊

以下是我找到的一个创建虚拟目录的代码,但是此代码执行,会创建一个和“默认网站”同一级的节点,而且新建的该节点。显示红色不可用图标。不是“默认网站“下一级的节点。似乎不符合我的需求
string entPath = String.Format(@"IIS://{0}/w3svc", HostName);
DirectoryEntry rootEntry = GetDirectoryEntry(entPath);
string newSiteNum = GetNewWebSiteID();
DirectoryEntry newSiteEntry = rootEntry.Children.Add(newSiteNum, "IIsWebServer");
newSiteEntry.CommitChanges();
newSiteEntry.Properties["ServerBindings"].Value = siteInfo.BindString;
newSiteEntry.Properties["ServerComment"].Value = siteInfo.CommentOfWebSite;
newSiteEntry.CommitChanges();
DirectoryEntry vdEntry = newSiteEntry.Children.Add("root", "IIsWebVirtualDir");
vdEntry.CommitChanges();
vdEntry.Properties["Path"].Value ="F:\SDSS\WebPrj\Website";
vdEntry.CommitChanges();
...全文
74 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
最后重复了一句tbEntry.CommitChanges();,把它去掉
  • 打赏
  • 举报
回复
string entPath = String.Format(@"IIS://{0}/w3svc", HostName);
DirectoryEntry rootEntry = GetDirectoryEntry(entPath);
DirectoryEntry tbEntry = rootEntry.Children.Add("虚拟目录名", rootEntry.SchemaClassName);//创建虚拟目录
tbEntry.Properties["Path"][0] = "物理目录地址";
tbEntry.Invoke("AppCreate", true);//创建应用程序
tbEntry.Properties["AccessRead"][0] = true;//允许访问
tbEntry.Properties["ContentIndexed"][0] = true;
tbEntry.Properties["DefaultDoc"][0] = "index.asp,Default.aspx";//设置默认主页
tbEntry.Properties["AppFriendlyName"][0] = "虚拟目录名";//应用程序名
tbEntry.Properties["AccessScript"][0] = true;//访问权限
tbEntry.Properties["DontLog"][0] = true;//日志
tbEntry.Properties["AuthFlags"][0] = 1;//验证,0不,1允许,3基本身份
tbEntry.CommitChanges();//开始应用属性
tbEntry.CommitChanges();

8,327

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 IIS
社区管理员
  • IIS
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧