2016-12-30 105 views
0

我们有一定的要求来创建一个非常动态且通用的Web应用程序,其中包含很多基于配置的功能。使用动态/虚拟页面创建.NET Web应用程序

我想到一种架构,我们使用单个动态页面来展示基于Web的功能。该页面呈现的功能以及该功能的单独设置可以由主XML文件/数据库进行配置和驱动。

该XML文件/数据库将具有与基于浏览器中的URL的页面呈现方式有关的所有配置。

因此,我认为我们将有一个URL的列表,将全部需要重定向到这个特定的页面。在这个页面中,我想我们会检查当前的URL,然后从XML文件/数据库中找到该URL的相应​​设置,否则不显示任何内容或标准消息。

我有两个问题首先我想知道是否有一种方法来设置一个Web应用程序,以便所有可能的URL解析到某个页面。

其次,我想知道我提议的方法会出现什么问题。这可行吗?优点和缺点e.t.c.只是一些一般的想法和讨论,将不胜感激。

+0

是的,这是可能的,这可能属于[Software Engineering Stack Exchange](http://softwareengineering.stackexchange.com/)。 –

回答

0

一般而言,您正在编写一个内容管理系统(CMS)或一个简易版本。这些系统存储配置信息(通常在数据库中)并使用它来呈现可定制的页面。我会考虑你是否应该使用一个开箱即用(这取决于用户真正想要系统的可配置性)。

回答您的具体问题:

“如果有一种方法来建立一个Web应用程序,使所有可能的URL的决心到特定的页面。” - 是的,您可以设置一揽子转发/重新路由/重定向规则。具体情况取决于您用来托管应用程序的内容。这是为IIS(https://technet.microsoft.com/en-us/library/cc732969(v=ws.10).aspx)。该网址的全部需要位于域名上,但箱子坐在后面。

至于利弊去,这是在我脑海中,缺点:

  1. 很多锅炉板代码别人已经写好。如果用户想要一些可定制的东西,那么您可能需要考虑使用某种CMS,然后对其某些组件进行编码。这样用户甚至可以设计/发布他们自己的页面。这种方法可以使您免于编写和维护大量自定义代码(dot net nuke是基于.net的CMS的示例)来处理配置。

  2. 增加了测试范围。如果用户需要X,并且您正在构建X,并且该X还应该支持配置为像Y和Z那样操作,那么您还需要测试Y和Z.它是一个前期投资的赌注。

  3. 故障

    单点的应用程序(如路由页面失败,一切都无法访问)

  4. 开发技能 - 全圆(全栈)的开发人员提供必要的javascript和后端的研究与开发技能是很难找到比专家。如果您正在构建一个在UI中动态呈现组件的系统 - 那么它的javascript需要非常干净。

优点:

  1. 压缩编码适合您的配置框架应是一件轻而易举的新功能。在运行期间引入新功能/组件的能力 - 如果新组件需要的所有内容都是config和指向它的url,则可以在运行时使用db/config插入将其添加到应用程序中。

  2. 满足您的确切用户的定制需求。这是每种定制方法的“专业”(相对于现成产品),因为您正在构建应用程序 - 您可以使其适合您正在使用的确切业务流程或用户体验,而无需构建任何构建CMS的限制。

相关问题