我正在为我正在工作的果园项目构建一个即时聊天模块。我想使用SignalR来支持聊天,但是我在这方面遇到了困难:
<script src="@Url.Content("~/signalr/hubs")" type="text/javascript"></script>我每次尝试都会收到404错误。我在webconfig中有RAMFAR,我已经尝试在IIS上重写url。我希望这是一种极其简单的东西,而我那糊涂的大脑却看不到它。我甚至不确定SignalR是否与果园合作,但我怀疑会有一些困难
发布于 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开发,因为数据库事务处理发生了变化。
发布于 2012-01-31 23:25:37
在页面上获得输出的URL是什么?您希望它显示什么URL?
通常,您会将SignalR代码放在Scripts/signalr中,并在视图顶部引用具有以下内容的脚本:
@{
Script.Include("signalr/script.js");
}或者,您可以在您的模块中实现一个IResourceManifestProvider (Orchard.jQuery有一个很棒的例子,即see here),然后使用Script.Require引用您的脚本
@{
Script.Require("SignalR_Hubs");
}https://stackoverflow.com/questions/9079016
复制相似问题