2009-09-09 58 views

回答

3

这是完全可以接受的。

请注意,任何人都可以更改您可能选择的域名(只要您为其配置了主机标头),那么请确保您不要执行类似于“admin.foo”的操作'但仅仅依靠这种安全性(显然,你会生气)。

我没有看到它的问题。

3

它的工作原理已被证实。 Se DotNetNuke仅举了一个例子。

请求进来。正则表达式/字符匹配域名。加载该域的设置(图像,CSS,配置,页面等的基本路径),然后离开你。

1

如果您的应用程序既是a)将数据存储在内存中,又b)使用相同的应用程序空间,则需要注意的问题。因此,例如,如果您想要创建两个不同的博客,并且希望数据驻留在内存中(例如,如果您的后端存储是XML并且您不想每次请求都解析XML),那么你必须确保Asp.Net将每个调用看作是一个单独的应用程序(它们都可以指向相同的文件系统文件夹,因此使用相同的文件)。

编码multi-blog data provider for BlogEngine.Net时遇到了这种情况。它使用单个代码库来根据请求的URL提供不同的博客。但是,由于BlogEngine.Net将数据存储在内存中,除非配置了IIS以便每个博客都是自己的应用程序,否则数据提供程序将无法工作。

+0

你在做什么样的“记忆”调用?每个页面请求将自己初始化为一个特定站点的请求,并且该代码将在该初始化内执行。如果你的代码出血了,你必须一直使用Session/Cache之类的东西,而没有正确地将这些值键入到它们所关联的特定站点/请求中。 – 2009-09-09 23:40:54

+0

这不是什么如此奇特。大多数情况下,基础对象保持静态列表集合。有一个静态列表和静态列表等。由于这些是静态变量,它们将保持到该过程循环。这也意味着回收后的第一次调用会带来一点延迟,因为所有数据都是从数据存储中读取的。我并不是这个设计的忠实粉丝,但是它在每次调用时都通过XML序列化解决了他们的问题。 – 2009-09-10 07:00:07