C# JavaScript中的业务逻辑
目前,我在一个项目中工作。我只是跟着我的老同事在做什么;他们正在使用ASP.NET(c#)和angularjs。我感到惊讶的是,他们的所有业务逻辑都是在JavaScript部分计算的,而只是使用c#部分与数据库通信。仅供参考,我们一直在使用存储过程。这真的是构建系统的好方法吗?。我想公开这一点,也许这不是一个好的实践,但我没有任何强烈的理由,因为我来自PHP世界 我们对您的业务了解不够,无法全面评估这有多糟糕,但听起来很糟糕 首先,您将根据每个请求将整个业务逻辑发送给客户和竞争对手 当然,最大的缺点是您不得不假设所有业务逻辑都已执行。客户端发生的一切都极易被客户端篡改C# JavaScript中的业务逻辑,c#,asp.net,angularjs,stored-procedures,C#,Asp.net,Angularjs,Stored Procedures,目前,我在一个项目中工作。我只是跟着我的老同事在做什么;他们正在使用ASP.NET(c#)和angularjs。我感到惊讶的是,他们的所有业务逻辑都是在JavaScript部分计算的,而只是使用c#部分与数据库通信。仅供参考,我们一直在使用存储过程。这真的是构建系统的好方法吗?。我想公开这一点,也许这不是一个好的实践,但我没有任何强烈的理由,因为我来自PHP世界 我们对您的业务了解不够,无法全面评估这有多糟糕,但听起来很糟糕 首先,您将根据每个请求将整个业务逻辑发送给客户和竞争对手 当然,最大的
您是说没有任何业务规则的服务器端强制执行吗?如果您要收到库存中所有项目的订单,且价格设置为$1,您只需接受,发货并向客户开具$1的发票?出于多种原因,应避免将业务逻辑置于JavaScript中:
这里的实际问题不是关于Javascript或C#,而是关于在客户端或服务器上执行代码的位置。没错,但我这样做是因为它已经是一个现有的项目。使用Javascript执行业务逻辑并不一定是件坏事,这就是你所说的“富客户”或“厚客户”的意思,绝对没问题。它对流量有一些警告,可能会变得相当大。然而,在许多情况下,您必须在客户端执行一些数据操作,因为您无法访问服务器代码。听起来像这样,正如我所说的,所有业务逻辑、计算、数据验证都是在javascript文件中完成的,我承认一开始我很震惊,因为据我所知,业务逻辑应该在服务器脚本中完成。@Fred:它是公共站点吗?你有链接吗?也许我们可以提出一些令人信服的论据:)不,先生,到目前为止还不能在网络上访问。@Fred:至少那是一个安全层:)谢谢你,也许现在我有一些正当的理由来辩护:)