2008-10-26 61 views
1

我的共享主机只允许我创建2个虚拟目录。我想主持多个webapps ...说一个asp.net mvc博客,论坛,个人网站等...如何仅使用2个虚拟目录托管多个webapps

是不是有没有其他方式做到这一点?不能我只是将博客文件夹ftp到我的虚拟目录之一,然后在网上访问它?

回答

2

分区它对于ASP.NET Web应用程序,通常会每一个生活在其中作为应用程序的起始点它自己的虚拟目录。

从技术上讲,你可以“背驮式”两种方式中的一个在同一个应用程序的起点两种应用:

  1. 把所有的文件,为每个应用程序在同一目录下(和适当的子目录)

如果你没有任何重叠的文件,你可以避开这个。当然,很可能你不会使用默认或索引页面等文件,反正这样会很麻烦。

  1. 将每个应用程序的所有非二进制文件放在适当的子目录中,并将二进制文件放在主虚拟\ bin目录中。

你就可以做到这一点只有在每个应用程序的二进制文件不按名称和重叠有组件之间没有命名空间歧义冲突(两个不同的组件按文件名,但具有相同的命名空间)。如果您试图捎带两种不同的应用程序,后者发生的可能性要小得多。

我在后面的解决方案中看到的大问题是,使用应用程序根引用的应用程序的任何部分都会中断。当某些代码试图解决一些资源的引用(如图像)基于应用程序根引用如

~/images/logo.gif 

了〜会得到解决的虚拟目录,但不包括额外的(非虚拟和非应用程序的起点)应用程序所在的子目录。因此,而不是这样的:

/vd1/app1/images/logo.gif 

你会这样结束了:

/vd1/images/logo.gif 

很显然,这是行不通的。

因此,如果您可以将它们都放在同一个虚拟目录中,那么您将不会中断任何应用程序,但是,您必须检查文件冲突等。没有单独的应用程序起点,可能的命名空间冲突将是不可避免的。

+0

这似乎可以... thanx! – 2008-11-11 20:31:20

相关问题