c# - 嵌套网络应用

标签 c# asp.net .net iis

我正在查看我公司在 .NET 2.0 中开发的 Web 应用程序。 在部署时,他们在“默认网站”下创建了嵌套的 Web 应用程序,如下所示

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

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

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

Q2。如果我想将它们全部合并到一个 Web 应用程序中。值得推荐吗?

Q3。这样的web应用嵌套有什么优缺点呢?何时嵌套网络应用,何时不嵌套?

如果这篇文章出现在堆栈溢出的错误部分,我很抱歉。如果是这样,请指导我将其张贴在正确的部分。

在此先感谢您提供的所有帮助和建议。

最佳答案

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

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

关于c# - 嵌套网络应用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35935517/

相关文章:

c# - 如何知道下载何时完成

ASP.Net:动态 JavaScript 路径/src

asp.net - 如果更新面板的服务器端捕获到异常,您能以某种方式看到堆栈跟踪吗?

c# - 在没有 Flash 的情况下将实时音频流式传输到网站

c# - 如何创建悬停工具栏

c# - STL/CLR 库使用 IComparable 实现 == 运算符并抛出 NullReferenceException

c# - 使用反射按声明顺序获取属性

c# - SimpleStub 中 MockBehavior.Loose 和 MockBehavior.Strict 有什么区别?

c# - 如何从 Windows 文本文件中拆分行(/r/n 分隔)

.net - 存储在数据库中的过时枚举成员