![如何在 IIS7 中设置 App_Code 虚拟目录?](https://linux22.com/image/492948/%E5%A6%82%E4%BD%95%E5%9C%A8%20IIS7%20%E4%B8%AD%E8%AE%BE%E7%BD%AE%20App_Code%20%E8%99%9A%E6%8B%9F%E7%9B%AE%E5%BD%95%EF%BC%9F.png)
在 IIS6 中,您不能将 App _
Code 目录设置为虚拟目录。
但是,我发现您可以在 App _
Code 目录中设置一个虚拟目录,然后 IIS6 会将代码编译到 __code 程序集中。
IIS7 似乎不会这样做,但我想知道在 IIS7 中是否有其他方法可以在多个站点之间共享代码目录。
一个可行的选项是创建到公共源代码目录的连接,但我非常喜欢虚拟目录选项,并且根据定义,代码自动无法通过 FTP 访问。
答案1
推荐吗?可能不会。非法吗?也许吧。可能吗?是的。
您可以在 IIS7 中托管的基于 ASP.Net 文件的网站的 App_Code 目录中使用虚拟目录。
在磁盘上创建空路径
首先,创建一个类似于以下路径的文件结构,其中“MyWebRoot”是您的网站的根目录,“MySharedCode”是您想要的包含共享 *.cs 或 *.vb 源代码文件的虚拟目录的名称。
电子邮件地址:\MyWebRoot\App_Code\MySharedCode
使用虚拟目录掩盖物理路径
接下来,打开 Internet 信息服务 (IIS) 管理器并在服务器的“站点”节点下找到您的站点。
单击站点名称旁边的加号以展开站点。您将看到列出的顶级目录。
右键单击“App_Code”目录并选择“添加虚拟目录...”(见截图)
在“别名”文本框中输入共享代码虚拟目录的名称。此名称必须与您在 App_Code 目录中创建的空文件夹的名称相匹配。
最后,在“物理路径”文本框中输入共享代码位置的实际路径。
单击“确定”完成虚拟目录的创建。
下次您浏览该站点时,IIS 应该编译位于您的虚拟目录引用的物理路径中的文件。
注意:您可能需要重置 IIS 或“触摸” Web.Config 文件来启动该过程。
开始 > 运行 > iisreset
显然,IIS 优先考虑虚拟目录的内容,但它需要物理路径的存在才能促使其进行编译。
答案2
那么,为什么不在共享的 App_Code 中编译所需的代码并将其安装在 GAC 中呢?这就是它的用途,而且比您提议的要安全得多。