我正在主动尝试避免因此而产生的任何潜在问题。情况是我们正在为客户开发一个ASP.NET应用程序,它将处理客户的在线订购。这个应用程序将使用他们当前的WinForms应用程序使用的相同数据库(这里没有真正的问题)。
与此同时,我们正在使用DotNetNuke为他们开发一个新的前端网站。 DotNetNuke应用程序将简单地链接到ASP.NET应用程序,以便客户提交订单(无需他们来回通信等)。
计划是在客户端位置的同一个盒子上托管两个应用程序。我正在寻找的是潜在的问题或设置提示,可以防止两个应用程序之间可能发生冲突(web.config冲突等)是否存在同一位置托管,如何设置IIS等问题,等等?
如果还有可用的外部资源可以解决这个问题,请随时链接它们。
答案 0 :(得分:7)
选项1:使所有应用程序与根网站分开的虚拟目录。然后让根文档将您重定向到该网站(DNN)的默认应用程序的正确子目录。
选项2 :( root中的DotNetNuke,子目录中的其他站点)如果新应用程序不是使用DotNetNuke构建的,那么web.config继承会有很多问题,但是你可以通过阻止root web.config的继承来解决这些问题。基本上,您将以下内容添加到根web.config(DNN)文件中。
<location path="." inheritInChildApplications="false">
<system.web></system.web>
</location>
选项3:正如Scott所说,创建具有不同子域的单独站点并将它们链接在一起。您可以设置重定向,以便任何人将订单发送给order.whatever.com。
答案 1 :(得分:3)
只是一个FYI,如果你使用的话 DNN 4.7-4.9.2中的inheritInChildApplications(尚未验证5.0)您将遇到ScriptManager错误,以前版本的DNN没有问题。
答案 2 :(得分:2)
我们在同一台Windows 2003服务器上为我们的公司站点托管了一个DNN站点,其中包含许多其他站点(.NET 2.0,SugarCRM,甚至是IIS中带有PHP扩展的一些WordPress实例)。这些网站是“单独的”网站,而不是默认网站的子网站。这是一个真正的大熔炉,它运作良好。我们确实为PHP,.NET 2.0和.NET 3.0 / 5站点创建了一些单独的应用程序池,以确保它们不会相互犯规。