Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/262.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 易于品牌化的网站架构_C#_Asp.net_Architecture - Fatal编程技术网

C# 易于品牌化的网站架构

C# 易于品牌化的网站架构,c#,asp.net,architecture,C#,Asp.net,Architecture,我最近参加了一个大型企业系统的演示,该系统的网页可以定制为包含客户端添加的字段。据我理解,他们的体系结构由以下几层组成: 数据库 Web服务API 指定布局的XML文件 从XML文件生成的网页。 当我被要求调查建立一个可以很容易打上品牌的门户网站时,我觉得这是一个很好的方法。现在的问题是如何设计它 我了解数据库和web服务层,但我对在.NET中构建web站点的各种可能性有点困惑 考虑到上述对可定制性和体系结构的要求,以下是我对选项的理解: Webforms——我最熟悉的选项,但它本质上是用代码来

我最近参加了一个大型企业系统的演示,该系统的网页可以定制为包含客户端添加的字段。据我理解,他们的体系结构由以下几层组成:

数据库 Web服务API 指定布局的XML文件 从XML文件生成的网页。 当我被要求调查建立一个可以很容易打上品牌的门户网站时,我觉得这是一个很好的方法。现在的问题是如何设计它

我了解数据库和web服务层,但我对在.NET中构建web站点的各种可能性有点困惑

考虑到上述对可定制性和体系结构的要求,以下是我对选项的理解:

Webforms——我最熟悉的选项,但它本质上是用代码来丰富HTML。我认为,要使它与XML布局的思想一起工作,可能需要做大量的工作。 WPF——XAML中间层是内置的,但据我所知,WPF只能真正用于浏览器应用程序,而不能用于网站。 Silverlight-更多用于构建小程序而不是网站,对吗? MVC-这看起来很有趣,但我看到的所有演示都使用实体框架。在我看来,具有自动代码生成功能的实体框架更适合于全新的应用程序。在我的例子中,我有一个已经存在的非常大的数据库。 如果以上这些都不合适,我想到了另一个选择。可以使用返回品牌元素的web服务创建一个标准的Webforms站点。这与我在顶部描述的不太一样,但足以满足我的需要


还是我找错人了?

我认为你对MVC的批评是错的。首先,您不需要使用实体框架,其次,即使您使用了实体框架,您也可以先使用数据库来生成您的实体

你对WPF和Silverlight的评估在国际海事组织中相当准确

您可以使用webforms来实现这一点,但我认为您可能会发现使用MVC体系结构将更加简洁。非常简单,如果您使用干净的HTML并将所有品牌元素放入一个外部CSS文件徽标、颜色等,那么您就完成了定制品牌的一半。即使是不同的布局也可能由CSS文件定义,尽管最终用户可能更难自定义该外观,因为他们需要非常了解CSS

构建其他字段可能更加困难:

即兴说来,我希望实现这一点的方式是将标准数据库布局用户表中的预定义字段与用户名、密码、名字等结合起来,并使用

在此基础上,您将需要开发一个可扩展的系统,扩展到1。使用适当的表单元素select、text input、textarea等从xml生成页面。生成一个通用模型,该模型将读取相同的XML文件,并且能够从发布的表单接收数据,并且知道如何将数据保存到数据库注释(在本例中,如果所有实体属性值可能比标准关系和EAV的组合更容易管理)

您可能希望将.NET数据契约视为可序列化实体,以了解如何将XML文件设计为可扩展的,以允许诸如“选择”菜单具有以下3个选项或文本输入必须匹配此正则表达式之类的内容


真正关注可扩展性,因为您不能一次构建所有的可扩展性。

我认为您需要研究XSLT,它用于从XML创建HTML。好的,我显然必须再仔细研究一下现有数据库的MVC。谢谢你给我指点数据合同——这会很方便的。