asp.net-mvc-4 – ASP.NET Web API架构建议/反馈
|
目前,我面临着构建Web服务的需求,该服务将允许java客户端通过httprequest检索并触发对我们数据的操作.我们是一个.Net商店,它的最新解决方案似乎是微软的MVC4 Web API.我习惯了你的标准分层架构我从API中提取数据,但这将是我的第一个提供数据的Web服务. 从我的学习中我看到的建议如下: >将逻辑和数据访问分离到单独的项目类型类库中. 我正在寻找具有MVC4 Web API经验的人,他可以通过这种方式阐明构建Web服务的良好实践. 提前致谢. 解决方法首先,将ASP.NET Web API逻辑放入单独的项目中.这将为您提供托管层的灵活性(因为ASP.NET Web API托管不可知),它只是使整个项目干净.假设您的项目名称是MyProject.您可以将API项目命名为MyProject.API,并且可以将Microsoft.AspNet.WebApi.Core NuGet包安装到此项目中.我还建议您将域层分开(POCO实体,存储库,服务层片段等).我们称之为MyProject.Domain.然后,您将从MyProject.APIproject引用此MyProject.Domain项目. 我不建议您将所有POCO实体转储到API中.所以,我肯定会使用数据传输对象(Dto).您可以使用autoMapper等第三方工具将实体类映射到Dtos.但是,请将您的Dtos,请求命令,请求模型放入单独的项目中.您将从MyProject.API项目中引用MyProject.API.Model项目.为什么我们要为此创建一个单独的项目?因为,如果您决定为HTTP API构建.NET客户端包装器,您可以轻松地引用此项目以将其与.NET客户端一起使用.我们将这个项目称为MyProject.API.Model. 最后,我们需要一个API的托管层.假设你想在ASP.NET下托管这个项目,你可以通过Empty Web Application模板创建一个新项目,然后让我们调用这个项目MyProject.API.WebHost.然后,您可以将Microsoft.AspNet.WebApi包安装到此项目中.在这个项目中,您将引用MyProject.API,MyProject.API.Model和MyProject.Domain项目.该项目是您应该部署到服务器的项目. 如果要为HTTP API创建.NET包装器,可以创建另一个名为MyProject.API.Client的项目,并将Microsoft.AspNet.WebApi.Client包安装到此项目中.您还可以从此引用MyProject.API.Model项目,以便您可以从强类型对象反序列化和序列化. 以下是我一直在使用的项目的解决方案资源管理器的屏幕截图: 希望这会给你一点想法. (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- asp.net-mvc – ASP.NET MVC的最佳实践
- 压力测试ASP.Net应用程序
- asp.net – GridView中的多个DataKeyNames
- asp.net – 如何自动执行功能/集成测试和数据库回滚
- asp.net – MVC 3 htmlhelper的扩展方法来包装内容
- asp.net-mvc-4 – ASP.NET MVC电子商务解决方案(商业或开放
- asp.net-mvc – MVC和NOSQL:直接将视图模型保存到MongoDB?
- asp.net – 按钮可以验证更多验证组吗?
- asp.net-mvc – 错误:无法在LINQ to Entities查询中构造实
- asp.net – 从请求中获取所有发布数据
- asp.net-core – 如何在Asp.net Core中使用soap
- oauth-2.0 – 在MVC6应用程序中的OAuth令牌到期
- asp.net-core – 外部包中的模型显示在swagger文
- asp.net-mvc-3 – 在ASP.NET MVC3中使用pdf.js.
- ASP.NET MVC3中基于权限的授权
- asp.net – 从通用列表中将ListItem添加到DropDo
- asp.net-mvc-3 – ASP.Net MVC 3,Ninject和Quart
- asp.net-mvc-3 – ASP.NET MVC 3中ViewBag.Title
- asp.net-mvc – 资源解释为Document但使用MIME类
- Asp.net UserControl LoadControl问题
