从一个代码库中运行一堆网站是否可行或可行?将许多域/子域指向同一网站的目的或将多个网站关闭一个代码库是否可行?
例如,我有1个网站,它的连接字符串脱离域名或子域名。因此,取决于域名/子域名打到网站,网站会返回专门为该网站存储在数据库中的内容。
这样做可能会发生哪些类型的问题?特别是如果这样做与asp.net。
从一个代码库中运行一堆网站是否可行或可行?将许多域/子域指向同一网站的目的或将多个网站关闭一个代码库是否可行?
例如,我有1个网站,它的连接字符串脱离域名或子域名。因此,取决于域名/子域名打到网站,网站会返回专门为该网站存储在数据库中的内容。
这样做可能会发生哪些类型的问题?特别是如果这样做与asp.net。
这是完全可以接受的。
请注意,任何人都可以更改您可能选择的域名(只要您为其配置了主机标头),那么请确保您不要执行类似于“admin.foo”的操作'但仅仅依靠这种安全性(显然,你会生气)。
我没有看到它的问题。
它的工作原理已被证实。 Se DotNetNuke仅举了一个例子。
请求进来。正则表达式/字符匹配域名。加载该域的设置(图像,CSS,配置,页面等的基本路径),然后离开你。
如果您的应用程序既是a)将数据存储在内存中,又b)使用相同的应用程序空间,则需要注意的问题。因此,例如,如果您想要创建两个不同的博客,并且希望数据驻留在内存中(例如,如果您的后端存储是XML并且您不想每次请求都解析XML),那么你必须确保Asp.Net将每个调用看作是一个单独的应用程序(它们都可以指向相同的文件系统文件夹,因此使用相同的文件)。
编码multi-blog data provider for BlogEngine.Net时遇到了这种情况。它使用单个代码库来根据请求的URL提供不同的博客。但是,由于BlogEngine.Net将数据存储在内存中,除非配置了IIS以便每个博客都是自己的应用程序,否则数据提供程序将无法工作。
你在做什么样的“记忆”调用?每个页面请求将自己初始化为一个特定站点的请求,并且该代码将在该初始化内执行。如果你的代码出血了,你必须一直使用Session/Cache之类的东西,而没有正确地将这些值键入到它们所关联的特定站点/请求中。 – 2009-09-09 23:40:54
这不是什么如此奇特。大多数情况下,基础对象保持静态列表