Javascript 更改事件源事件名称在asp.net中不起作用

Javascript 更改事件源事件名称在asp.net中不起作用,javascript,c#,asp.net-mvc,knockout.js,server-sent-events,Javascript,C#,Asp.net Mvc,Knockout.js,Server Sent Events,我有一个带有knockout.js的asp.net mvc应用程序 我正在使用HTML5 EventSource来推送消息 # javascript是 eventSource.addEventListener('message', function (e) { if (e.data.length) { var json = JSON.parse(e.data); if (json.Text) { me

我有一个带有
knockout.js的
asp.net mvc
应用程序

我正在使用
HTML5 EventSource
来推送消息

#

javascript是

eventSource.addEventListener('message', function (e) {
        if (e.data.length) {
            var json = JSON.parse(e.data);
            if (json.Text) {
                messages.push(json);
            }
            else onlineUsers(json);
        }
    }, false);  
这是正常的

但是我想为事件添加一个特定的名称,所以我在c#方法中添加了新行,如

Clients.ForEach(c =>
        {
            c.Stream.WriteLine("event: messenger \n");  // added new
            c.Stream.WriteLine("data:" + new JavaScriptSerializer().Serialize(ou) + "\n\n");
        });
并将脚本更改为

eventSource.addEventListener('messenger',...`
添加事件名称后,停止工作

请帮忙


谢谢。

如果您删除事件名称和“\n”之间的空格,它看起来会起作用,如下所示:

 Clients.ForEach(c =>
    {
        c.Stream.WriteLine("event: messenger\n");  // added new w/o space
        c.Stream.WriteLine("data:" + new JavaScriptSerializer().Serialize(ou) + "\n\n");
    });

如果删除事件名称和“\n”之间的空格,则该选项似乎有效,如下所示:

 Clients.ForEach(c =>
    {
        c.Stream.WriteLine("event: messenger\n");  // added new w/o space
        c.Stream.WriteLine("data:" + new JavaScriptSerializer().Serialize(ou) + "\n\n");
    });

抢手货我最后添加了
client.Stream.WriteLine(“事件:messenger\nda:+newJavaScriptSerializer().Serialize(ou)+”\n”)正在工作。谢谢,接得好。。我最后添加了
client.Stream.WriteLine(“事件:messenger\nda:+newJavaScriptSerializer().Serialize(ou)+”\n”)正在工作。谢谢,接得好。。我最后添加了
client.Stream.WriteLine(“事件:messenger\nda:+newJavaScriptSerializer().Serialize(ou)+”\n”)正在工作。非常感谢。