Questions tagged «asp.net-mvc-4»

3
我们应该在同一解决方案中从MVC应用程序调用Web API吗?
我正在MVC中具有移动应用程序的项目中工作,因此很明显,我们必须使用Web API,以便可以在移动应用程序中使用它。 在开始开发网站时创建了API之后,我们感到困惑,并讨论了是使用API​​还是直接访问Business对象。最后,我们让更多有经验的开发人员来使用Web API,而不是直接使用Business对象。 我对此解决方案结构感到困惑。 1)为什么我们应该使用Web API并发出HTTP请求(这很耗时)来获取或放置数据,而不是直接使用相同解决方案中的业务对象。 2)在争论之后,他们说如果客户端要在不同的云服务器上托管API和Web并仅在API上应用扩展,或者他想为访问API和Web使用不同的url(这是合理的)。因此,在那种情况下,我们应该在同一解决方案中从MVC应用程序调用Web API吗? 3)如果我们将API和Web托管在不同的托管上,那么这意味着我们的Web将使用WebClient并在每个导航上都有HTTP调用。这样对吗? 4)如果我们要在不同服务器上同时使用API​​和Web托管的业务对象,则BL中的某些更改将需要更新这两个服务器上的构建。 5)或者我们应该只为API创建一个项目,并且可以添加视图或html页面来开发Web界面,这样我们就可以直接从ajax调用API。 据我所知,#5是最好的解决方案,或者API仅适用于第三方访问。如果我们在同一解决方案中具有DB,EF,数据层和业务层,则我们不应使用API​​进行HTTP调用并直接访问业务对象。(如果我错了,请纠正我)当移动应用程序或桌面或任何人想要访问应用程序时需要API,以便我们可以拥有相同的存储库和数据层。 在我的场景中,我必须创建API,因为我们也拥有移动应用程序,在项目API方面,我们称为业务层(单独的项目),业务层与数据访问层(单独的项目)进行通信。因此,我的问题是,如果我们将API和Web托管在不同的服务器上,那么调用API(这是一个HTTP请求)可能需要更长的时间,而不是在创建项目并且拥有.dll时使用业务层的方法。在API控制器中,我们只是将业务量转换为json格式。 我已经在互联网上进行搜索,但没有得到令人信服的答案。我发现了一个博客http://odetocode.com/blogs/scott/archive/2013/07/01/on-the-coexistence-of-asp-net-mvc-and-webapi.aspx,但又讨论了同一点在那个博客中,我的问题是为什么我们需要考虑场景#3? 更新:我们可以有不同的API项目和MVC项目,我们可以使用jvascript从Web调用API或使用MVVM模式。

5
ASP.Net MVC4中的“ Web API”到底是什么?
我知道Web API是什么。 我用多种语言(包括MVC3)编写了API。 我在ASP.Net中也很熟练。 我刚刚发现MVC4具有“ Web API”,并且没有浏览视频示例,我无法很好地解释其确切含义。 根据我过去的经验,Microsoft技术(尤其是ASP.Net)倾向于采用一个简单的概念,并将其包装在无用的开销中,这意味着使所有事情“更轻松”。 有人可以向我解释一下MVC4中的Web API到底是什么吗?我为什么需要它?为什么我不能只编写自己的API?

4
MVC中的实用程序类-ASP.NET
所以我今天想知道,您会将实用程序类放在ASP.NET MVC应用程序的什么位置?实用程序类是指可以静态的类,仅用于执行功能。就像一个类,以电子邮件地址,主题和正文作为参数来发送电子邮件。 我认为也许创建一个单独的文件夹和名称空间就足够了,但是我想让所有人都同意

3
WCF数据服务(OData)与ASP.NET Web API?超媒体?
我正在设计一个由REST服务和各种客户端(Silverlight,iOS,Windows Phone 7等)组成的分布式应用程序。我已经准备好决定要使用WCF数据服务(OData)来实现我的REST服务,但是现在MVC 4 Web API令我质疑该决定。 我喜欢OData的是免费获得的URI查询和超媒体功能。我不喜欢OData有效负载的详细程度;导线上出现了许多不必要的字符。 我喜欢Web API的原因是有效负载更加简洁,并且具有OData的URI查询功能,但是似乎缺少超媒体(至少是开箱即用的)。我的老板也在推动Web API的开发,因为“微软的力量正在支持它,而OData并没有受到人们的青睐。” 所以我有两个问题: 1)谁能评论Web API和OData的支持/牵引? 2)是否期望Web API在发布时间之前就本机支持超媒体,或者我应该研究任何现成的实现或示例? 谢谢!

1
使用迁移或SQL Server数据工具进行代码优先是否更合适?
我已经获得建立一个新的MVC4网站的规范,起初它不会是一个太大的项目,但是我怀疑它会随着企业对它的新想法的发展而增长。 使用.NET 4.5 ASP.NET MVC4和EF,我必须在进行迁移的代码优先或Sql Server Data Tools(SSDT)之间进行选择,以处理数据库。 借助SSDT,我可以在项目中控制数据库,这是解决方案的一部分,并且可以使用dacpac文件处理从开发到生产的所有更改。我从MVC3进行代码优先的经验是,由于数据库选项有限,所以没有在开发中使用它。最终会导致在模型更改时放弃Db或手动处理Db更改。但是,我被认为不再使用MVC4迁移了,现在我可以将更新推送到Db了。 因此,我的问题是,在节省开发时间/精力的同时,还可以扩展并能够处理生产变更,哪种方法最有效。我喜欢代码优先和能够从模型生成数据库的能力,现在迁移的引入使它在生产中可行吗?
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.