首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SignalR聊天模块在果园CMS中的应用

SignalR聊天模块在果园CMS中的应用
EN

Stack Overflow用户
提问于 2012-01-31 19:48:41
回答 2查看 2.7K关注 0票数 4

我正在为我正在工作的果园项目构建一个即时聊天模块。我想使用SignalR来支持聊天,但是我在这方面遇到了困难:

代码语言:javascript
复制
<script src="@Url.Content("~/signalr/hubs")" type="text/javascript"></script>

我每次尝试都会收到404错误。我在webconfig中有RAMFAR,我已经尝试在IIS上重写url。我希望这是一种极其简单的东西,而我那糊涂的大脑却看不到它。我甚至不确定SignalR是否与果园合作,但我怀疑会有一些困难

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-03-08 10:03:32

它比@mdm描述的要棘手得多……SignalR使用自定义HttpModule来处理集线器。不幸的是,由于模块程序集的动态加载,在不改变Orchard核心的情况下,无法从模块连接HttpModule。

幸运的是,我成功地解决了问题,并制作了一个 ,在一起玩得很好!要让它工作起来相当棘手,需要放弃HttpModule,转而使用自定义路由实现。在做了一些必要的清理之后,我会把这个模块推到Orchard Gallery,并在这里发布一个更新。

更新:模块即将完成。自从我开始使用SignalR库以来,它有了很多变化,所以我需要把它们结合起来。此外,在实际发布模块之前,我需要推送Orchard核心(会话处理)的一个小更改。

更新2: SignalR现在使用Owin,因此将所有内容连接起来要容易得多。果园模块可在here上使用。您也可以从BitBucket获取latest code。顺便说一句,我强烈建议使用Orchard 1.x分支中的代码进行SignalR开发,因为数据库事务处理发生了变化。

票数 6
EN

Stack Overflow用户

发布于 2012-01-31 23:25:37

在页面上获得输出的URL是什么?您希望它显示什么URL?

通常,您会将SignalR代码放在Scripts/signalr中,并在视图顶部引用具有以下内容的脚本:

代码语言:javascript
复制
@{
    Script.Include("signalr/script.js");
}

或者,您可以在您的模块中实现一个IResourceManifestProvider (Orchard.jQuery有一个很棒的例子,即see here),然后使用Script.Require引用您的脚本

代码语言:javascript
复制
@{
    Script.Require("SignalR_Hubs");
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9079016

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档