【问题标题】:Nested web application嵌套网络应用程序
【发布时间】:2016-03-11 08:33:30
【问题描述】:

我正在浏览我的公司使用 .NET 2.0 开发的 Web 应用程序。 在部署时,他们在“默认网站”下创建了嵌套的 Web 应用程序,如下面的结构所示​​

  • 默认网站
    • 我的根应用程序
      • 子应用1
      • 子应用2
      • 子应用3

每个应用程序都是一个 .cs 项目。许多子应用程序甚至只有一个 Web 服务(大约 15-20 个 Web 方法),仅此而已。

由于开发这个项目的人不在身边,我想知道 Q1。采取这种方法的原因是什么? IIS 和 .NET 2.0 是否有一些限制使它们具有这种结构。

第二季度。如果我想将它们全部合并到一个 Web 应用程序中。推荐吗?

第三季度。这种 Web 应用程序嵌套的优缺点是什么?什么时候嵌套网络应用,什么时候不嵌套?

对不起,如果这篇文章出现在堆栈溢出的错误部分。如果是这样,请指导我将其发布在正确的部分。

提前感谢所有帮助和建议。

【问题讨论】:

  • 我认为一般规则是……没有坏就不要修。您可以做的是创建一个不同的解决方案,并尝试使用您认为更好的架构从头开始构建相同的东西。
  • 国际海事组织,一切都有利有弊。拆分意味着没有依赖关系,如果单个 Web 应用出现故障,它不会影响其他 Web 应用。但是,维护/扩展/诊断等更加困难。
  • 谢谢亚历克斯,kienct89。没有任何问题,但该站点仅在 IE 上运行(因为使用 Activx、.htc 等)及其 2.0 框架。无法在现代浏览器上加载此站点。有升级到更新的 .net 版本的路线图,使其工作。我应该建议将所有内容都放在一个网络应用程序下吗?一般建议或以下是什么? Web 应用程序不是很大,使用量也不像电子商务网站等。受到数千次点击。
  • 我同意 Alex 的观点 - 这样做的原因可能有很多。许多不一定涉及错误的决定。问一个问题:你重构这个对你的公司有什么价值?如果没有,请不要打扰。我知道维护一些东西可能很糟糕,它不像你想要的那样漂亮 - 在这种情况下,确保你有其他项目,你可以在其中做你的事情,并且很高兴你能够分辨出不同之处: ) 祝你好运,兄弟。
  • 哦,如果你想要/需要重构它 - 根据你的描述(相对较小的网站和所有),我会从干净的石板开始,然后把东西移过来/ 根据需要重新实现。比修复旧东西更有趣,你可以完全按照自己的意愿去做

标签: c# asp.net .net iis


【解决方案1】:

这个问题非常广泛,不知道这些子应用程序是什么,它们如何或是否相互通信等等。但是把事情分开通常是一个好习惯。在您的特定情况下:当您在多台机器上运行子应用程序时,可以更好地扩展它们。您可以获得更好的维护,就像您必须修复某些东西一样,然后您处理大型应用程序的一些 离散 部分。架构应该更好,因为当可以将应用程序拆分为多个子应用程序时,这意味着它们是松散耦合

在我们的 Web 应用程序中,我们通常有 3 个 Web 项目:API、Web、CMS。我这里没有计算其他业务逻辑层、DAL 等。所以现在,我们可以像您一样将它们作为单独的实例运行,但我们也可以将它们作为一个应用程序运行,我们必须指定路由:API @987654321 @、CMS:myapp.example/cms/** 和网络:myapp.example/**

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-12-14
    • 2011-02-01
    • 2016-01-24
    相关资源
    最近更新 更多