ASP.NET网络服务架构/结构

问题描述:

我要创建一个新的asp.net网络服务(.NET Framework 2.0),Web服务的功能是接收xml输入,执行相关操作(添加/修改/删除)基于指示操作状态的输入和返回代码。我打算为这个Web服务实现两层体系结构(业务层和数据库层),任何人都可以建议这是正确的结构还是其他任何结构都比这更好。基本上我需要一些关于设计Web服务的信息。ASP.NET网络服务架构/结构

在此先感谢。

感谢, 穆鲁

领域模型应该表达的方式在业务逻辑上边界的技术如WCF或ASP.NET Web服务独立。

这增加了第三层的要求:

  • 服务
  • 域模型
  • 数据访问

如果你不为技术特有的接口一个单独的层(服务),你可能只是做一个单一的,整体的应用程序,因为无论如何你都无法重用业务逻辑。

虽然我们在这里:使用WCF,而不是ASMX,用于Web服务。

我会写一个使用ASMX的Web服务,因为它更容易让你的头开始。

通过使用ADO或LINQ实现DAL(可能更简单,因为它为您完成所有映射,学习新的imo也很好)。

你打算打电话给网络服务?你有没有考虑过你将如何返回状态码?您可以查看JavaScript和Ajax,以便您可以将自定义对象返回给客户端,也可以查看基于xml的SOAP。

也可以推荐一个好的阅读 - ASP.Net和Ajax:架构Web应用程序。可以给你一个更好的想法,你有什么选择。

我总是使用相同的模型:服务/业务层和数据库层。 说到Visual Studio,我有4或5个项目:

1与webservice命名为project.webservice(它唯一的任务是接收输入并将该输入提供给执行思考的层(业务层),所以测试easyly做业务层

1与命名project.service服务层来完成实际工作(决定操作应该是什么,调用正确的方法分贝等)

1名为project.datalayer的数据库逻辑可能是ADO.Net代码或实体框架。

1与称为project.model的数据类。这些类是由ADO.Net代码返回并由服务和Web服务项目使用的类。如果我使用实体框架,我通常会跳过此项目,因为EF本身为我提供EF生成的数据类。有时客户不想使用EF数据类,然后我创建project.model项目,让数据层翻译EF数据类,以project.model数据类

1名为project.test

一跳testproject这有帮助,

Michel