对于当前项目,我试图了解如何有效地利用Knockout 2.1.0,Upshot 1.0.0.2,ASP.NET MVC4和Entity Framework 4.3。有许多基本的架构问题似乎没有现成的答案。我列举了我的几个问题(在单独的帖子中),希望有人能够在我们尝试在实际应用程序中实现这种组合时为自己和他人提供合理的指导。
在2月份的TechDays荷兰的史蒂夫·桑德森的精彩的Knockout和Upshot.js演讲中,他提到Upshot可以容纳多种连接服务器的方法。 (如果您还没有看过演示文稿,那么值得一看。您可以在http://channel9.msdn.com/Events/TechDays/Techdays-2012-the-Netherlands/2159查看。)
不幸的是,他没有时间详细说明这些通信机制是什么或推荐哪些以及在什么情况下。
根据 Denver Developer 在他的博客文章“挖掘到 Upshot.js“(http://denverdeveloper.wordpress.com/2012/03/07/digging-into-upshot-js/),Upshot.js公开了三个数据提供者。 这些是:
•默认为 DataProvider(),并使用/ Submit方法和您提供的操作来使用jQuery的$ .ajax方法获取数据。 (AG注意:我认为这通常与 WebAPI 公开的 DbDataController 对象相关联,但我不确定其具体限制是什么。)
•下一个是 riaDataProvider() - 与第一个类似,但它使用/ json / SubmitChanges方法和/ json / {your opertion}来获取数据
•最后我们还有 odataDataProvider() - 这个是完全不同的,因为它目前不支持更新数据 - 它是只读的。
一些密切相关的问题自然会出现在选择典型用途的提供者方面。
在相关的说明中,关于互联网上的结果的文档似乎很少。除了在upshot.js中浏览4700多行代码之外,这个库还有其他合适的文档来源吗?
到目前为止,我所查看的资源包括以下内容(以及其他内容)。
Steve Sanderson的SPA演示源代码(可从http://blog.stevensanderson.com/2012/03/06/single-page-application-packages-and-samples/获得)。
Bart Jolling在他的文章“使用ASP.NET MVC4构建单页应用程序”(第1-4部分)中对Steve Sanderson的SPA演示应用程序的变化。 http://bartjolling.blogspot.com/2012/04/building-single-page-apps-with-aspnet.html
Big Shelf SPA演示代码 - http://www.asp.net/single-page-application/spa-samples/sample-bigshelf-application
Microsoft ASP.NET“通过SPA游览”(主要关注结果示例) http://www.asp.net/single-page-application/spa-samples
答案 0 :(得分:13)
您应该避免使用upshot并使用http://www.breezejs.com/代替
ASP.Net MVC路线图(请注意,结果尚未进一步发展): http://aspnetwebstack.codeplex.com/wikipage?title=Roadmap
密切注意路线图加上约翰帕帕的博客(http://www.johnpapa.net/building-single-page-apps-with-knockout-jquery-and-web-api-ndash-the-story-begins) - 应该保留 你在正确的道路上
更新:我刚开始玩热毛巾 - 角色Breeze,Durandal.js Knockout.js和Twitter Bootstrap(等等) 到一个非常好的模板......到目前为止看起来非常酷答案 1 :(得分:-1)
使用哪个提供程序取决于您的服务器端dataService类型。在我的实践中,他们是: