现在,我有一个沿着Models项目,Service项目,Utilities项目和几个Datastores项目的ASP MVC Web应用程序,这些项目充当一个或多个域模型的存储库。我对每一层的分离感到非常满意,但我坚持要从服务层返回到Web应用程序。什么从服务返回到ASP MVC网络应用程序?
例如,当用户尝试注册时,控制器会收到一个RegisterViewModel。个别部分(电子邮件,密码等)被发送到服务层,该服务层使用guid,status,createdate等来构造成员域对象,将其发送到存储库以存储并最终返回用于web应用的成员对象以重定向到/会员/ {GUID}。
但是,如果电子邮件已经存在,服务层应该如何通知Web应用程序?在更复杂的情况下,我可能需要检查多个域对象和业务规则的存在/有效性,因此必须一次返回多个错误。另外,我不希望异常情况冒泡到Web层,因此服务层会捕获所有异常,但需要通知Web层某些方面。
即使我找到一种方法来返回所有这些,Web层将负担处理所有这些并为用户提供各种反馈。控制器代码将是庞大的和错误修剪。演示文稿的服务结果是否有最佳做法?我应该消除单独的服务层并将代码放在控制器内部吗?任何想法都欢迎。
感谢您的代码。我可能会做这样的事情,但也许为每个服务电话定制结果。 –