建议将asp web表单/ asmx web服务应用程序移动到MVC / Web API

时间:2013-03-20 15:14:41

标签: asp.net-mvc asp.net-web-api

我希望更新/刷新老化的应用程序,因为它随着时间的推移变得难以处理。

该应用程序通过药房的配药过程跟踪处方。点胶过程包含许多使用条形码扫描仪记录的“活动”。

该应用程序目前是主UI的asp.net Web表单应用程序,具有asp.net asmx服务,提供处理条形码扫描的方法。 (条形码扫描客户端应用程序是.NET Windows窗体应用程序)

Web服务(asmx文件与主UI的IIS网站相同)维护应用程序对象中“实时”处方/用户/活动的集合,以最大限度地减少数据库访问。

我被主Web UI的MVC模型所吸引,因为它提供了很大的关注点分离,允许我们为移动设备等提供视图。

我不确定Web服务是否应该成为RESTful web api服务。这显然会对MVC应用程序的设计产生影响。目前的设置使服务做了大量的工作 - 即我们有一个'过程扫描'的主要方法,它封装了所有与扫描有关的逻辑,例如:

- 用户扫描的条形码 - 服务将其与设备ID(传递给方法的设备ID)保持一致

-Prescription条形码扫描 - 服务检查是否有此设备ID的用户条形码,如果为真,则存储处方ID

- 活动条形码扫描 - 服务检查用户/处方完成然后检查用户是否能够记录该活动,如果活动正确,则是扫描序列中的正确活动,如果OK记录活动然后检查用户以前的活动需要完成等等。

转向RESTful实现似乎表明它被拆分为具有以下端点:

获取webservice / Users / USERID

获取网络服务/处方/ PRESID

POST webservice / Activities / ACTIVITYID

这是我开始放弃情节的地方 - 这似乎使事情变得更复杂,POST部分让我感到困惑。给出的所有示例都是很明显的情况,您要更新一个资源(例如订单或客户)。在这种情况下,使用POST添加活动可能会对其他活动和处方产生影响。那么我是否应该使呼叫不那么紧密耦合:即请求应该返回需要更新的活动/处方的ID。然后我调用其他POST / PUT来更新它​​们?我们不是简单地将逻辑移动到客户端......

我是否在这里忽略了这一点,我是否应该深入了解网络api位并从那里开始休息......来自已经完成此操作的人的任何建议都会很棒!

由于

0 个答案:

没有答案