上一篇介绍了在IIs上发布website,但是往往有些项目是需要写log日志和保存文件的,这就需要更详细的设置,下面做具体介绍
首先配置 log文件写在服务器上的,也是右键log那个文件夹选择属性,剩下的操作和上一篇发布website的安全配置几乎一致就不做详细介绍了
但需要注意的是还需要设置C:\Inetpub\wwwroot\webSite下面你的log文件夹
右键log文件夹在弹出的窗体上找到安全那个设置,有的文件夹看不到这个 tab栏,则需要在文件夹上面的 工具下面 文件 表示里面把简单文件共有属性前面的 对号挑掉
这样就可以在弹出的窗体上找到安全那个 tab栏了,在上面追加2 个用户 administrator 和 network serviers ,然后吧这2 个用户的权限下面的许可一览全部打上对号见下图

这样写log文件的权限设置ok了
但是如果需要指定写到其他机器的共享文件夹下或者是保存文件好需要设置虚拟目录
右键你的website找到新建然后虚拟目录,在弹出的地方给虚拟目录随便起个名字a,选择路径的时候可以随便指定机器的盘符一会再做修改,在最后一步权限的时候全部打对号
在你的website下面会出现a的虚拟目录,右键属性,在虚拟目录栏里面选择另一台计算机然后配置ip和共享文件夹名,然后在到目录安全性那个栏里面配置匿名访问的身份和验证
记住这个需要你发布IIS的用户名和你要保存到文件到其他机器上的用户名和密码完全一致


那么还需要在代码里面做一些设置的需要获取iis虚拟目录的具体物理路径
当问起如何根据指定的虚拟路径获取此目录相应的物理路径这一问题时,一些朋友经常会给出:“使用Server.MapPath”。当然,这绝对是一个正确的回答。不过,它仅仅被限于在可以获取HttpContext的环境中使用。下面我要说的是,在无法获取HttpContext的情况下,如何根据虚拟路径获取相应的物理路径。
.Net Framework为我们提供了System.DirectoryServices命名空间,以便我们可以简便地访问 Active Directory。当然,我们主要是要使用ADSI(Active Directory 服务接口)来对IIS进行访问。
在构造DirectoryEntry时需要提供一个路径,以便将此实例绑定到位于指定路径的 Active Directory 中的节点上。通常情况下,访问IIS时,我们提供的是IIS://LOCALHOST/W3SVC/1/ROOT/YourVirtualDirectoryName。其中,“1”是默认网站的标识符,如果指定的虚拟路径不是存在于默认网站中,那么我们也就无法取得到相应的物理路径。为此,我们需要根据虚拟路径中的端口号来获取路径所属网站的标识符,而GetWebSiteIdentifier就实现这个功能的。
在获取了网站的标识符后,我们就可以去指定虚拟路径的物理路径了。
P.S. 如果是使用WindowsXP的话,可以直接使用IIS://LOCALHOST/W3SVC/1/ROOT/YourVirtualDirectoryName,因为WindowsXP的IIS不允许使用者创建网站
本文详细介绍了如何在IIS上创建虚拟目录并指定到其他机器的物理路径。设置过程中涉及了日志文件权限配置,包括为`administrator`和`network services`用户分配全权限。此外,还讲解了如何创建指向远程共享文件夹的虚拟目录,强调了身份验证的重要性,要求IIS发布用户与目标文件夹用户相同。在代码层面,讨论了在无法获取HttpContext时,如何利用ADSI和DirectoryEntry获取虚拟目录的物理路径。
3733

被折叠的 条评论
为什么被折叠?



