- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
所以我正在整合 SignalR 和 HotTowel,虽然我真的认为这是一个如何与 Durandal 本身整合的问题。
问题是我显然有多种观点。其中一些 View 我想响应 SignalR 消息。问题是考虑到在调用 SignalR 的集线器启动方法之前必须启动 SignalR 事件,如何进行这种集成。
所以以我有view1和view2的例子为例。我希望每个人在收到 SignalR 消息时在该 View 的上下文中做一些事情(所以假设以某种方式更新 DOM)。这显然是一个 SPA,因此为每个 View 调用 SignalR 启动方法似乎是一个坏主意,因此在启动时启动 SignalR 一次听起来是正确的计划,但那时我的 View 可能尚未加载,我仍然如何确保我的事件具有页面的正确上下文。
这是基于我的理解,SignalR 的所有事件都必须在我调用 start 之前注册。 StackOverflow 的聪明人有什么想法吗?
编辑以扩展问题
该网站的一部分涉及上传文件以进行解析和处理以导入数据库。我创建了一个 View ,其中选择了文件并将其上传(使用 FineUploader)到 WebApiController。 Controller 执行检查上传文件的基本步骤,然后启动一个异步任务来实际进行解析和处理,同时立即返回基本的“是的,上传得很好”消息。
这会导致“进行中”文件列表刷新,并且文件显示为“已上传”状态。当异步任务发生时,文件被解析,然后根据规则系统进行处理,最后导入到另一个后端数据存储中。当这些状态更改中的每一个发生时,SignalR 会向客户端发送消息以通知它们这些更改,从而根据文件名更新状态。为了发生这种情况,我必须将一个函数附加到 SignalR 中接收到的事件中。这甚至需要对我的 View (实际上是 View 模型)进行某种引用,以便它可以更新正确的值。
由于 SignalR 应该通过调用 hub.Start() 启动一次,因此我尝试在“启动”阶段执行此操作。但是,当我的 SPA 启动时,该 View 尚未加载,因此该 View 模型也没有加载,因此我负责初始化 SignalR 的函数无法理解它必须更新的 View / View 模型。
我在使用 SignalR 时看到的示例显示它在一个 View 中使用,但是如果您需要在多个 View 中使用它,那确实不能正常工作(您不能一直调用 hub.start() 是吗)?
抱歉,如果这仍然没有意义,我会发布一些代码或其他内容。
最佳答案
如果你使用
$.connection.myHub.on("myMethod", function (/* ... */) { /* ... */ });
$.connection.myHub.client.myMethod = function (/* ... */) { /* ... */ };
$.connection.hub.start()
;
关于signalr - HotTowel(真的是 Durandal)和 SignalR 初始化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17013971/
这是我第一次使用 Node.js 我正在关注本教程:http://www.johnpapa.net/get-up-and-running-with-node-and-visual-studio/ 我使
这是我的第一篇文章,祝我好运:) 我想使用 hot towel(durandal) + typescript ,我遵循了这些线程:- how-can-i-use-a-class-for-my-shel
我正在尝试使用 John Papa 的 HotTowel 模板实现 SPA。我可以做多少级的 ko compose 有限制吗? 在它调用的 shell.html 中 在我的事件 View 中,我尝试
从表面上看,这可能听起来像一个愚蠢的问题,但为什么 Hot Towel SPA Template包括 Breeze根本? 最近几天我一直在学习 Hot Towel 及其依赖项,据我所知,模板中没有任何
我正在使用最新的 Hot Towel 版本 2.1.0 学习 John Papa 的 HotTowel Angular 类(class),但是在执行查询时出现错误“配置未定义”。 function
John Papa 的 HotTowel SPA 模板中导航模板的设置方式是,在 shell.js 中传递给 Durandal 的 activate 方法是一行(见下文)。这是我不知道的一些 Java
开始查看 AngularJS 的 HotTowel 模板,所有这些“为什么”问题突然出现在我的脑海中。我已经清除了其中一些,但无法清除这个。 IE。 Controller 使用“立即调用函数表达式 (
我正在开发 Hottowel 项目,并更新到 Durandal 2.0。我已经关注了Converting from 1.x to 2.0 guide ,但我仍然有一些问题: 1.加载router插件总
下面是一个 Hot Towel View 模型。我试图弄清楚在哪里以及如何进行 jquery 调用 define(['services/logger'], function (logger) {
在过去 10 年左右的时间里,我重新回到了 Web 开发领域,我对所有必须 catch 的新技术 ASP 感到不知所措。 .NET、MVC、jQuery、SPA、Knockout 等。我不知道关于 j
我正在尝试在 HotTowel 中显示一个简单的 map 。 在 home.html 页面我有: 在 home.js 中我有: define(['services/logger'], fun
所以我正在整合 SignalR 和 HotTowel,虽然我真的认为这是一个如何与 Durandal 本身整合的问题。 问题是我显然有多种观点。其中一些 View 我想响应 SignalR 消息。问题
在 HotTowel 模板的 shell.html 中,我们有: 这将按照惯例自动插入正确的 View 。我正在尝试根据用户在 HotTowel/Durandal 应用程序中的 A
我正在试用新的 Hot Towel约翰爸爸的模板。它真的很灵巧,但我在让它与我习惯使用的 Web API 协作时遇到了一些困难。 我能够解决路由问题,但我仍然无法获得 Microsoft.AspNet
我使用 Durandal 模板开发 asp.net 解决方案。 我尝试使用与 knockout 兼容的 koGrid ( https://github.com/Knockout-Contrib/KoG
我正在尝试使用像 这样的无容器语句 Hot Towel 模板中的 knockoutjs 但如果我使用可见绑定(bind)与某些元素(如 div)则它不会工作,那么它工作得很好。() 谁能告诉我 kn
我使用 John Papa 的 HotTowel 模板。我有一个这样的 View 模型: define(['durandal/app', 'services/appsecurity', 'servic
我使用 Durandal 和 Breeze 开发 ASP.NET MVC 解决方案。我需要将前端翻译成法语和荷兰语。如何进行 Durandal /淘汰赛? 在经典的 ASP.NET MVC 解决方案中
我正在使用以下步骤创建该网站。 使用标准“Internet”创建 Asp.net Mvc 4 Web 应用程序application”模板。这样就创建了登录代码。然后更新所有引用的代码使用 NuGet
我使用 HotTowel SPA 模板启动了一个新的 Visual Studio 2012 Express Web 项目。我不确定应该将代码放置在 HotTowel 结构中的何处以加载 Faceboo
我是一名优秀的程序员,十分优秀!