信号机owin启动不';不要被击中。获得;对象没有';t支持属性或方法“;javascript错误
在过去的几个小时里,我一直在拼命工作。我有一个使用signar的聊天应用程序,但在运行它时遇到javascript错误“Object不支持属性或方法”。我正在使用IIS托管该站点。 我猜javascript错误是因为启动没有被解雇 请帮忙 过了一段时间,我发现owin启动并没有受到影响信号机owin启动不';不要被击中。获得;对象没有';t支持属性或方法“;javascript错误,javascript,jquery,signalr,signalr-hub,owin,Javascript,Jquery,Signalr,Signalr Hub,Owin,在过去的几个小时里,我一直在拼命工作。我有一个使用signar的聊天应用程序,但在运行它时遇到javascript错误“Object不支持属性或方法”。我正在使用IIS托管该站点。 我猜javascript错误是因为启动没有被解雇 请帮忙 过了一段时间,我发现owin启动并没有受到影响 [assembly: OwinStartup( typeof( SignalrSimpleChat.Startup ) )] namespace SignalrSimpleChat {
[assembly: OwinStartup( typeof( SignalrSimpleChat.Startup ) )]
namespace SignalrSimpleChat
{
public class Startup
{
public void Configuration( IAppBuilder app )
{
app.MapSignalR( ); // not getting hit!!!!
}
}
}
我的金块安装是
<?xml version="1.0" encoding="utf-8"?>
<packages>
<package id="jQuery" version="2.0.3" targetFramework="net45" />
<package id="json2" version="1.0.2" targetFramework="net45" />
<package id="Microsoft.AspNet.SignalR" version="2.0.1" targetFramework="net45" />
<package id="Microsoft.AspNet.SignalR.Core" version="2.0.1" targetFramework="net45" />
<package id="Microsoft.AspNet.SignalR.JS" version="2.0.1" targetFramework="net40" />
<package id="Microsoft.AspNet.SignalR.Owin" version="1.2.0" targetFramework="net45" />
<package id="Microsoft.AspNet.SignalR.SystemWeb" version="2.0.1" targetFramework="net45" />
<package id="Microsoft.Owin" version="2.1.0-rc1" targetFramework="net45" />
<package id="Microsoft.Owin.Host.SystemWeb" version="2.1.0-rc1" targetFramework="net45" />
<package id="Microsoft.Owin.Security" version="2.1.0-rc1" targetFramework="net45" />
<package id="Newtonsoft.Json" version="5.0.8" targetFramework="net45" />
<package id="Owin" version="1.0" targetFramework="net45" />
</packages>
试用
$.connection.hub.start().done(function () {
chat.server.join('test');
});
如果不起作用,请尝试不使用局部变量:
$.connection.hub.start().done(function () {
$.connection.chat.server.join('test');
});
一些资源:
尝试使用
$.connection.hub.start().done(function () {
chat.server.join('test');
});
如果不起作用,请尝试不使用局部变量:
$.connection.hub.start().done(function () {
$.connection.chat.server.join('test');
});
一些资源:
从SignalR 1.0开始,只能分别通过客户端和服务器名称空间访问客户端和服务器方法。州也有自己的名称空间 进行此更改是为了避免客户端和服务器方法之间的冲突。您的JS代码将更改为如下所示:
$(function () {
var chat = $.connection.chat;
$('#userName').val(prompt('Enter your name:', ''));
$('#groupName').val(prompt('Enter your groupName:', ''));
chat.state.userName = $('#userName').val();
chat.state.groupName = $('#groupName').val();
chat.client.addMessage = function (userName, groupName, message) {
$('#messages').append('<li><b>' + groupName + "." + userName + ":</b>" + message + '</li>');
$('#msg').val('');
};
$("#broadcast").click(function () {
chat.server.sendAll(chat.userName, chat.groupName, $('#msg').val());
});
$("#groupcast").click(function () {
chat.server.sendGroup(chat.userName, chat.groupName, $('#msg').val());
});
$.connection.hub.start().done(function () {
chat.server.join(chat.groupName); //should no longer throw exception!!!!!!!!!
});
$.connection.hub.start();
});
$(函数(){
var chat=$.connection.chat;
$('#userName').val(提示('输入您的姓名:','');
$('#groupName').val(提示('输入您的组名:','');
chat.state.userName=$('#userName').val();
chat.state.groupName=$('#groupName').val();
chat.client.addMessage=函数(用户名、组名、消息){
$(“#消息”).append(“”+groupName+”+userName+”:“+message+” ”);
$('#msg').val('');
};
$(“#广播”)。单击(函数(){
chat.server.sendAll(chat.userName,chat.groupName,$('#msg').val());
});
$(“#群播”)。单击(函数(){
chat.server.sendGroup(chat.userName,chat.groupName,$('#msg').val());
});
$.connection.hub.start().done(函数(){
chat.server.join(chat.groupName);//不应再引发异常!!!!!!!!!
});
$.connection.hub.start();
});
从SignalR 1.0开始,客户端和服务器方法只能分别通过客户端和服务器名称空间访问。州也有自己的名称空间
进行此更改是为了避免客户端和服务器方法之间的冲突。您的JS代码将更改为如下所示:
$(function () {
var chat = $.connection.chat;
$('#userName').val(prompt('Enter your name:', ''));
$('#groupName').val(prompt('Enter your groupName:', ''));
chat.state.userName = $('#userName').val();
chat.state.groupName = $('#groupName').val();
chat.client.addMessage = function (userName, groupName, message) {
$('#messages').append('<li><b>' + groupName + "." + userName + ":</b>" + message + '</li>');
$('#msg').val('');
};
$("#broadcast").click(function () {
chat.server.sendAll(chat.userName, chat.groupName, $('#msg').val());
});
$("#groupcast").click(function () {
chat.server.sendGroup(chat.userName, chat.groupName, $('#msg').val());
});
$.connection.hub.start().done(function () {
chat.server.join(chat.groupName); //should no longer throw exception!!!!!!!!!
});
$.connection.hub.start();
});
$(函数(){
var chat=$.connection.chat;
$('#userName').val(提示('输入您的姓名:','');
$('#groupName').val(提示('输入您的组名:','');
chat.state.userName=$('#userName').val();
chat.state.groupName=$('#groupName').val();
chat.client.addMessage=函数(用户名、组名、消息){
$(“#消息”).append(“”+groupName+”+userName+”:“+message+” ”);
$('#msg').val('');
};
$(“#广播”)。单击(函数(){
chat.server.sendAll(chat.userName,chat.groupName,$('#msg').val());
});
$(“#群播”)。单击(函数(){
chat.server.sendGroup(chat.userName,chat.groupName,$('#msg').val());
});
$.connection.hub.start().done(函数(){
chat.server.join(chat.groupName);//不应再引发异常!!!!!!!!!
});
$.connection.hub.start();
});
那么您在配置()中放置了一个断点,而它没有被命中?断点是实心的(不是空心的)?您在@SpikeX中的回答是正确的。它在IIS下不会被命中,但在VS serer下会被命中。那么,要命中MapSignalR()函数的配置更改是什么呢?是否有需要在global.cs中运行的代码?因此,您在Configuration()
中放置了一个断点,但它没有被命中?断点是实心的(不是空心的)?您在@SpikeX中的回答是正确的。它在IIS下不会被命中,但在VS serer下会被命中。那么,要命中MapSignalR()函数的配置更改是什么呢?是否有需要在global.cs中运行的代码?如果您查看我的页面代码,您的建议已经存在。我认为问题在于我的owin初创公司没有被解雇。??显然问题出在其他方面。幸运的是,我们在下面得到了一个答案,这个答案应该也能帮助其他人。如果你看一下我的页面代码,你的建议已经在那里了。我认为问题在于我的owin初创公司没有被解雇。??显然问题出在其他方面。幸运的是,我们在下面得到了一个答案,这个答案也可以帮助其他人。