如何在IIS7中设置App_Code虚拟目录?

在IIS6中,您不能将App _ Code目录设置为虚拟目录。

但是,我发现你可以在App _ Code目录下设置一个虚拟目录,而IIS6会将代码编译到__code程序集中。

看来,IIS7不会这样做,但我想知道是否有不同的方式来跨IIS7中的多个站点共享代码目录。

一个可行的方法是创build一个连接到通用源代码目录,但我真的很喜欢有虚拟目录选项,根据定义,代码可以通过FTP自动访问。

推荐的? 可能不会。 非法? 也许。 可能? 是。

您可以在IIS7中托pipe的ASP.Net基于文件的网站的App_Code目录中使用虚拟目录。

在磁盘上创build空path

首先,创build一个类似于下面的path的文件结构,其中“MyWebRoot”是网站的根目录,“MySharedCode”是虚拟目录的名称,它将包含共享的* .cs或* .vb源代码文件。

E:\ MyWebRoot \ App_Code文件\ MySharedCode

使用虚拟目录屏蔽物理path

接下来,打开Internet信息服务(IIS)pipe理器并在服务器的“站点”节点下find您的站点。

点击网站名称旁边的加号,展开网站。 您将看到列出的顶级目录。

右键单击“App_Code”目录并select“添加虚拟目录…”(见截图)

IIS虚拟目录对话框截图

在“别名”文本框中input共享代码虚拟目录的名称。 该名称必须与您在App_Code目录中创build的空文件夹的名称相匹配。

最后,在“物理path”文本框中input共享代码位置的实际path。

点击“确定”完成创build虚拟目录。

下次浏览该站点时,IIS应编译位于虚拟目录引用的物理path中的文件。

注:您可能需要重置IIS或“触摸”Web.Config文件来启动该进程。

开始>运行> iisreset

显然,IIS优先考虑虚拟目录的内容,但它需要物理path的存在来激励它进行编译。

那么为什么不编译你想要在共享的App_Code中的代码并将其安装到GAC中? 这就是它的目的,比你提出的要安全得多。