ASP.NET应用程序套件开发 - 陷阱

时间:2009-07-16 18:31:40

标签: asp.net architecture

这听起来有点普遍,但我有一个正在开发ASP.NET(绿地)软件应用程序套件的初创公司。我们的目标是在架构阶段花费大量时间为我们的软件开发坚实的基础。我想知道是否有人有任何建议,我们应该关注的任何建议,或者我们应该关注的领域的任何建议,以建立一个更好的套房。

我们现在关注的一些事情: 1.会话状态要求 - 会话应该是粘性还是我们应该考虑服务器群集会话迁移。 2.用户登录身份验证 - 此空间的主要问题是什么 - LDAP,AD,自定义SQL身份验证系统等。 3. DAL - ORM与存储的程序 4.在单个软件套件中集成多个ASP.NET应用程序。它的外观/感觉如何。它应该如何构建等等。

我很感激那些从头开始构建类似系统的建筑师的任何建议。

4 个答案:

答案 0 :(得分:3)

我知道会话有很多解决方案,但如果您可以创建无会话的框架,那么您将避免很多潜在的麻烦。 (有很多无会话选项,但显而易见的是隐藏的表单字段,有点像ViewState。)

答案 1 :(得分:1)

我昨晚在PhillyDotNet用户组看到了Silverlight 3的演示 - 哇。哇商业应用程序,而不是图形应用程序。有一个学习曲线,但你得到了很多。例如,演示显示网格绑定到表而无需编写任何代码。

开箱即用,你有排序,编辑,分页等。但这不是你通常得到的蹩脚的东西,然后必须返工。例如,分页足够聪明,可以编写只返回页面所需的20行的sql。

演示继续他在页面上放置一个细节表格进行编辑。再一次没有代码,但它足够聪明,知道它与页面上的网格具有相同的数据源。因此,当您在网格上逐行移动时 - 详细信息表单显示当前行(并且速度非常快)。

网格和详细信息表单都是可编辑的,当您更改一个字段时,另一个字段将反映新值。编辑非常智能,可以自行验证字段。所以你不能在一个整数类型的字段中放一个字母等。它还限制了可以根据数据库中的列大小输入的字符数。详细信息表单上的所有日期字段都会自动在其旁边显示日历。你明白了 - 没有任何编码。

如果这还不够,可以用它来构建偶尔连接的应用程序。所以他展示了他如何在几个不同的页面上更新了几条记录,可以选择稍后恢复一个字段(ctrl-Z),然后在最后提交所有已保存的更改记录。

此外,他们说它适用于Linq2SQL和实体fraimwork。

因此,如果我现在正在构建新产品,我会真正将其视为区分我的产品的一种方式。而且我怀疑如果你现在不用Silverlight做,那么无论如何你将在几年后重写它。

Here是演示的链接(不是我看过的那个。)

答案 2 :(得分:1)

只是一些快速笔记。自从我们去年参加过这个练习以来,我不能太详细了 - 我不再在那里工作了!

  • 从头开始使用 Enterprise Library ,尤其是Logging and Exception Handling应用程序块。我还发现他们的Unity依赖注入库非常有用。
  • 考虑使用 Visual Studio Team Foundation Server 。它不仅适用于源代码控制,还可以为您创建一个完整的持续集成解决方案,完成集成的错误跟踪,代码质量跟踪等。如果您有时间和人员,那么学习如何以人为本进行初始部署。
  • 您可能想要购买一个或多个 Visual Studio Team System 版本的许可证。您不需要这些版本才能使用TFS,但它们可以很好地使用它。
  • 从一开始就考虑全球化。与自定义相同,如果您的套件将在客户端运行并可由其自定义。
  • 您还没有说过您的团队有多大,或者预计会有多大。如果它足够大,你将需要花费至少一个人一周的时间来学习 Visual Studio Extensibility 方面的可用内容。您的开发人员(也可能是您的QA人员)将在Visual Studio中生活,因此能够自定义它以满足您的需求可能是一个巨大的胜利。无论是一些宏还是一些自定义项目或项目模板,或者您是否想要加载项或更多,Visual Studio都是非常易于扩展的。
  • 确保使用 WCF 进行任何网络服务工作。现在,旧的ASMX Web服务技术被Microsoft视为“遗留软件”。
  • 最后,请务必了解您是否有资格获得 BizSpark ,“为软件初创公司提供软件,支持和可见性的程序。”而这几乎是免费的。

答案 3 :(得分:0)

一些一般性的想法。如果您希望我对其中的任何内容进行阐述,请告诉我。

  • 继承自的子类 页面而不是页面本身就是一个 分享功能的好方法 在您的网站上。
  • 嵌套的MasterPages很好。
  • 制图:我试过DevExpress, Syncfusion和MSChart控件和 都有自己的问题。
  • 内置表单身份验证是 非常好。建立一个网站 允许集成身份验证 和表单身份验证是棘手的 但是可以做到。
  • 我尝试过使用跨页回发 而且我还不确定我是否喜欢 它们。
  • 本地化需要花费大量时间
  • 为App_Themes和css提供一个好的结构。
  • 使用Elmah跟踪未处理的异常