【发布时间】:2018-07-09 08:13:52
【问题描述】:
早安,
很遗憾,我无法让 SignalR 为私人 1 对 1 聊天工作。
以下是我做过的事情:
以正确顺序位于我的布局页面的 head 标记中的引用:
<script src="~/Scripts/jquery-1.6.4.min.js"></script>
<script src="~/Scripts/jquery.signalR-2.3.0.js"></script>
甚至在下面添加了两者以检查是否有效但没有运气。
<script src="/signalr/hubs"></script>
<script src="http://localhost:50581/signalr/hubs"></script>
有一个 Owin 启动类:
[assembly: OwinStartup(typeof(Startup))]
namespace WebApplication6
{
public class Startup
{
public void Configuration(IAppBuilder app)
{
var config = new HubConfiguration();
config.EnableDetailedErrors = true;
config.EnableJavaScriptProxies = true;
app.MapSignalR("/signalr", config);
}
}
}
让我的 chatHub 类包含我的方法:
[HubName("chatHub")]
public class ChatHub : Hub
{
}
我有一个名为 chatboxManager 的 javascript 文件,其中包含以下内容:
var connection = $.hubConnection();
var ChatHub = connection.createHubProxy('chatHub');
使用上面的方法,我可以连接到 chatHub
但它无法识别 .client 波纹管:
// On New User Connected
debugger;
ChatHub.client.onNewUserConnected = function (id, name, userid) {
AddUser(ChatHub, id, name, userid);
}
如果我在 js 文件的开头使用它,则不起作用:
var ChatHub = $.connection.chatHub;
还有什么我可能会遗漏的吗?
我已经卸载了这些软件包并重新安装了它们。
任何建议都将不胜感激。
诚挚的问候和感谢
【问题讨论】:
标签: javascript c# html signalr