【问题标题】:ASP.NET MySQL WebApp ArchitectureASP.NET MySQL WebApp 架构
【发布时间】:2011-11-29 22:07:48
【问题描述】:

我想知道最好的架构。

我们有一个运行不同域的 Web 应用程序。每个域都有自己的 MySQL 数据库,但它们的 db 结构是相同的。

  • 我们有一个用于应用程序可见部分的 Web 应用程序。
  • 我们有一个 dataLogic 项目
  • 我们有一个 dataEntities 项目
  • 我们有一个 dataAccess,它只包含连接到数据库的方法。

在我们在数据库上调用存储过程之前。但是我们不得不改变它,因为性能很差。此外,问题在于我们在存储过程中所做的每一项更改都必须复制到每个数据库。

我们正在考虑使用 WebService 来检索数据。每个域都可以使用连接字符串调用 Web 服务并连接其数据库以检索数据。这样,当我们更改 SQL 查询时,我们只需要编译 webService 并更改它,我们不必更改多个域的版本。

另外,您如何看待 SQL 查询?既然我们不想继续使用存储过程,那么最好的方法是什么?直接来自代码?

谢谢

T

【问题讨论】:

  • 没有最好的架构,只有适合您或您的组织的架构。

标签: asp.net mysql web-services architecture


【解决方案1】:

如果您有多个数据库服务器,您将不得不以一种或另一种方式从一个数据库到另一个数据库进行结构更改。有许多工具可以更改数据库结构。这些工具会寻找 Schema 之间的差异,或者为您生成 SQL 代码,或者自己进行更改(这在很大程度上取决于工具,有强大的,也有没有那么强大的)。请查看Toad for MySql。现在,对于数据更改,您可能希望将数据从一个数据库复制到另一个数据库。这是通过Replication 完成的。

我们正在考虑使用 WebService 来检索数据。每一个 域可以使用连接字符串调用 Web 服务并连接 它的数据库来检索数据。

这听起来是个好主意,因为您已经有了“dataAccess”和“dataLogic”项目,所以制作这些服务应该不会太难。

另外,您对 SQL 查询有何看法?既然我们不想 继续使用存储过程,最好的方法是什么?直接地 来自代码?

我认为将 SQL 查询直接放入您的代码不是一个好习惯,但这取决于很多事情,所以我建议使用存储过程与硬编码查询,或 LinQ(实体框架4.1)。

祝你的项目好运,我会经常看看这个帖子,看看你最终做了什么。

玩得开心!

汉莱特

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-05-24
    • 2020-08-05
    • 2013-04-17
    • 1970-01-01
    • 1970-01-01
    • 2011-02-24
    • 2013-12-27
    • 1970-01-01
    相关资源
    最近更新 更多