在其自己的子目录中设置站点的完整副本

时间:2011-02-21 23:19:45

标签: asp.net virtual-directory

我被要求实现ASP.NET 3.5网站的法语翻译。每个翻译都将进入自己独立的网站(www.mysite.com,www.mysite.mx,www.mysite.ca等)。不幸的是,之前的程序员没有实现本地化,因此每个站点都有其独立的文件集 - 这是不可协商的。

这个法语版本也将进入自己的网站(www.mysite.ca),但目前我被要求将其放入当前网站的子目录,称为/ CA(www.mysite。 COM / CA)。我不想开始讨论文件路径(用于导航和图像),因为计划是在几周内将此子目录中的文件移动到一个单独的位置。所以唯一的选择似乎是将网站的副本移动到子目录中并将其设置为单独的应用程序。

设置此功能的最佳方法是什么?由于两个站点中的文件属于同一名称空间并且名称相同,因此如何避免命名冲突?

2 个答案:

答案 0 :(得分:0)

这样你将来会遇到更多麻烦。我认为改变当前的网站,尽管它有多大,比单独保留这些版本更容易。

如果您要使用您的解决方案,则不会发生冲突,因为它们是不同的应用程序,具有不同的AppDomains。如果你想在执行时将它们分开(因此其中一个问题不能阻止其他问题),为每个问题创建单独的Application Pool

答案 1 :(得分:0)

您需要制作充当单独网站的“虚拟目录”。这意味着每个站点都可以拥有自己的Web.config文件。

所以你需要做的就是右键点击网站并添加一个新的虚拟目录。文件的实际位置不必是主网站的位置。只需指向包含该网站翻译的文件夹即可。

顺便说一句,这对于网站翻译来说确实是一种糟糕的形式。现在咬住子弹可能会更好,并将整个网站本地化,这对ASP.NET有很好的支持。根据经验,我知道他们会回来并要求您在其中一个网站上进行更改。如果您有10个不同语言版本的网站,则意味着您需要在10个不同的地方进行更改。这将成为一个重大的痛苦。