gpt4 book ai didi

asp.net - MapHubs 不映射集线器并在 X 应用程序中返回错误

转载 作者:行者123 更新时间:2023-12-04 05:08:47 24 4
gpt4 key购买 nike

我正在尝试使用 WebSite 实现最简单的示例( https://github.com/SignalR/SignalR/wiki/QuickStart-Hubs )(我一直在尝试 WebForms 但遗憾的是结果相同)

Monitor.cs

using System;
using System.Web;
using Microsoft.AspNet.SignalR;
using Microsoft.AspNet.SignalR.Hubs;

[HubName("chat")]
public class Chat : Hub {
public void Send(string message) {
// Call the addMessage method on all clients
Clients.All.addMessage(message);
}
}

Global.asax
<%@ Application Language="C#" %>

<%@ Import Namespace="System" %>
<%@ Import Namespace="System.Web.Routing" %>

<script runat="server">

void Application_Start(object sender, EventArgs e)
{
// Code that runs on application startup
RouteTable.Routes.MapHubs();
}

Default.aspx
<%@ Page Title="Monitor" Language="C#" MasterPageFile="~/Site.master" AutoEventWireup="true"
CodeFile="Monitor.aspx.cs" Inherits="Monitor" %>

<asp:Content ID="MonitorHeaderContent" runat="server" ContentPlaceHolderID="HeadContent">

<script type="text/javascript" src="Scripts/jquery-1.6.4.min.js"></script>

<script src="Scripts/jquery.signalR-1.0.0.min.js" type="text/javascript"></script>
<script src="/signalr/hubs" type="text/javascript"></script>
<script type="text/javascript">
$(function () {
// Proxy created on the fly
var chat = $.connection.chat;
// Declare a function on the chat hub so the server can invoke it
chat.client.addMessage = function (message) {
$('#messages').append('<li>' + message + '</li>');
};
// Start the connection
$.connection.hub.start().done(function () {
$("#broadcast").click(function () {
// Call the chat method on the server
chat.server.send($('#msg').val());
});
});
});
</script>

</asp:Content>

<asp:Content ID="BodyContent" runat="server" ContentPlaceHolderID="MainContent">

<input type="text" id="msg" />
<input type="button" id="broadcast" value="broadcast" />
<ul id="messages">
</asp:Content>

它不起作用,当我点击 /signalr/hubs 时我得到
    <span><h1>Server Error in 'XXX' Application.<hr width=100% size=1 color=silver></h1>
<h2> <i>HTTP Error 404 - Not Found.</i> </h2></span>

我做错了什么?

最佳答案

如果/signalr/hubs 以 404 响应,则您对 RouteTable.Routes.MapHubs(); 的调用存在问题.要么没有被调用,要么有另一条路由被添加到 RouteTable首先匹配/signalr/hubs 但随后以 404 响应。

SignalR Faq 的“为什么信号器/集线器返回 404 或为什么我得到 'myhub' 是未定义的”越过这个。如果还是有问题,需要debug你的路线。

关于asp.net - MapHubs 不映射集线器并在 X 应用程序中返回错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15157153/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com