Steve Sanderson在2012年的荷兰Techdays上做了非常有趣的演讲.在其中一个中,他提出了一个用于MVC应用程序中客户端 - 服务器通信的库:Upshot.
我真的很惊讶它是多么容易使用它,所以我想下载并测试它.我在这里通过NuGet找到了下载链接,但我找不到任何文档.有没有人有一些有用的东西?我还要感谢Steve在演示过程中展示的示例代码.
编辑:
我找到了我在Techdays参加的在线演讲.这太值得一看了.您将了解结果的功能,并了解如何从中开始.祝好运并玩得开心点.
链接:http://channel9.msdn.com/Events/TechDays/Techdays-2012-the-Netherlands/2159
我的公司正在使用MVC 4中的新Web API/SPA功能将其电子商务站点重新编写为单页面应用程序.我们不确定如何处理身份验证的最佳方法.
具体问题:
我们如何处理加密和非加密通信?显然,我们需要使用HTTPS进行登录,帐户和结账AJAX,但我们希望使用HTTP浏览目录,以避免昂贵的SSL握手,这会降低整个网站的速度.这对于SPA来说是否可能,或者我们是否仍然坚持使用HTTPS?
我们应该使用哪种身份验证?主要是我们的网站将通过网络浏览器访问,因此cookie可能没问题.但在未来,我们可能想要制作一个自定义的iPhone应用程序.基本身份验证,OpenId或OAUTH更受欢迎吗?如果是这样,为什么?
提前致谢
authentication asp.net-web-api single-page-application asp.net-spa
当我在开发PC上安装MVC4 beta时,它有一个SPA(单页面应用程序)模板.今天在具有相同设置(VS2010 SP1,win7)的不同PC上,我安装了MVC4 RC,但不再提供SPA模板(见图).还有谁有相同的问题吗?或者这是一个我无法找到的记录变更?
我一直在http://www.asp.net/single-page-application/an-introduction-to-spa上阅读MVC 4 SPA .
即使在阅读之后我还不清楚我应该在什么情况下使用SPA.通过查看上面链接上的几个示例,看起来控制器保持不变.MVC网页与SPA之间的区别在于SPA是否包含许多Javascript框架?如果我们将这些Java Script框架(Jquery,Knockout,Upshot等)与MVC Web一起使用,我们可以获得与SPA相同的结果吗?OR SPA是指整个网络应用程序的一页?
另外,我们是否正在使用SPA的布局页面?
谢谢你的澄清.希望有人不会 - 投票.
在使用MVC 4的新单页应用程序工具时,我注意到我找到的所有示例都没有包含通过WebApi更新的DateTime示例.我很快发现了原因.
我首先从提供的模板生成标准SPA.然后我打开了TodoItem.cs并添加了DateTime字段.然后我按照评论的指示生成了控制器.(没有datetime字段,一切正常).
生成所有内容后,我启动了应用程序并导航到控制器索引(我称之为控制器"任务").我按预期获得了0个记录的网格页面并单击了添加按钮.我按预期被带到了编辑页面并输入了一些数据,包括我闪亮的新日期时间字段中的日期.然后点击保存.
产生了一个错误:
服务器错误:HTTP状态代码:500,消息:反序列化System.Web.Http.Data.ChangeSetEntry []类型的对象时出错.DateTime内容'01/01/2012'不以'/ Date('和以')/'结尾,如JSON所要求的那样.
看起来工具还不支持DateTime.我确信我可以花一些时间来搞清楚并让它发挥作用,但我想我可能会在这里找到一些运气,因为已经解决了这个问题且可以提供洞察力的人.
有人已经在争吵吗?
更新:我提出了自问这个以来我发现的更多信息.我尝试使用JSON.Net作为我的Formatter,如下所示.我认为这将是最终的解决方案,但是,正如下面推荐的海报还不够.
使用JSON.Net序列化程序时,我收到以下错误:
此DataController不支持实体'JObject'的操作'Update'.
原因是JSON.Net没有完全填充格式化程序试图取消规划的对象(System.Web.Http.Data.ChangeSet).
发送的json是:
[{"Id":"0",
"Operation":2,
"Entity":
{"__type":"TodoItem:#SPADateProblem.Models",
"CreatedDate":"/Date(1325397600000-0600)/",
"IsDone":false,
"Title":"Blah",
"TodoItemId":1},
"OriginalEntity":
{"__type":"TodoItem:#SPADateProblem.Models",
"CreatedDate":"/Date(1325397600000-0600)/",
"IsDone":false,
"Title":"Blah",
"TodoItemId":1}
}]
Run Code Online (Sandbox Code Playgroud)
内置的Json Formatter能够将此Json重构为ChangeSet对象,并在Entity和OriginalEntity字段中嵌入TodoItem对象.
有没有人得到JSON.Net来正确反序列化?
我正在尝试此处找到的“VueJS with Asp.Net Core 3.1 Web API Template” ,它在开发过程中运行得非常顺利。然而,我想看看它如何处理发布,但我无法让它工作。
运行发布到文件夹时,它不会将 clientapp/dist 文件夹移动到输出目录,这是可以的,所以我想我应该手动执行此操作。因此,我尝试将 dist 文件夹的内容移动到具有以下路径的输出目录:
但以上似乎都不起作用,运行 .dll 文件时出现以下错误:
fail: Microsoft.AspNetCore.Server.Kestrel[13]
Connection id "0HLTD93CRG52F", Request id "0HLTD93CRG52F:00000001": An unhandled exception was thrown by the application.
System.InvalidOperationException: The SPA default page middleware could not return the default page '/index.html' because it was not found, and no other middleware handled the request.
Your application is running in Production mode, so make sure it has been published, or that you …
Run Code Online (Sandbox Code Playgroud) 我在 ASP.Net Core 3 中使用 SPA (React) 应用程序。
正在发生的是任何请求将首先进入后端并允许 .Net 尝试路由它,如果没有找到路由,它会返回index.html
并假设 SPA 可以处理路由。
大多数时候我对此很满意,但我想知道是否有办法排除任何路由器api/
。
我觉得很烦人,在任何虚构的 .html 上返回 index.html(带有 200)api/MadeUp/Request
。我不能让它在无效的 api 请求上返回 500,但仍然允许 SPA 管理任何其他请求(即返回 index.html)?
我在我的ASP.NET WebAPI项目中使用Breeze,我添加了breezecontroller
[BreezeController]
public class BreezeController : ApiController
{
readonly EFContextProvider<MyEntities> _context
= new EFContextProvider<MyEntities>();
[HttpGet]
public string Metadata()
{
return _context.Metadata();
}
Run Code Online (Sandbox Code Playgroud)
不幸的是,当我调用createEntity时,我得到错误 无法在没有先设置其键或将其entityType'AutoGeneratedKeyType'属性设置为'None'以外的其他内容的情况下将对象附加到EntityManager
当调用元数据api时,不是breeze自动初始化实体吗?
TIA
asp.net-spa ×8
asp.net-core ×2
asp.net ×1
asp.net-mvc ×1
breeze ×1
c# ×1
datetime ×1
installer ×1
javascript ×1
singlepage ×1
upshot ×1