C# 信令客户端到MVC5
我试图通过一个单独的、微型的客户端应用程序来访问我的MVC5信号集线器,但没有成功 一些背景: 我有一个使用SingalR 1.10的常规ASP.NET应用程序,我可以用我的客户端访问它。代码: ASP.NET中心:C# 信令客户端到MVC5,c#,client-server,signalr,asp.net-mvc-5,signalr-hub,C#,Client Server,Signalr,Asp.net Mvc 5,Signalr Hub,我试图通过一个单独的、微型的客户端应用程序来访问我的MVC5信号集线器,但没有成功 一些背景: 我有一个使用SingalR 1.10的常规ASP.NET应用程序,我可以用我的客户端访问它。代码: ASP.NET中心: namespace SignalrTest { public class ScanHub : Hub { public void SendScan(string data, string xmlData) {
namespace SignalrTest
{
public class ScanHub : Hub
{
public void SendScan(string data, string xmlData)
{
Clients.All.broadcastMessage(data, xmlData);
}
}
}
客户:
connection = new HubConnection("http://localhost:2446/");
hubProxy = connection.CreateHubProxy("ScanHub");
connection.Start();
........
private static async Task RunAsync()
{
object[] param = new object[2];
param[0] = _Data;
param[1] = _xmlData;
await hubProxy.Invoke("SendScan", param);
}
再说一次,这很有效。我的MVC Hub与另一个相同(我已确保更改客户端Hub连接地址),我的Startup.cs如下:
[assembly: OwinStartupAttribute(typeof(SignalrTest.Startup))]
namespace SignalrTest
{
public partial class Startup
{
public void Configuration(IAppBuilder app)
{
app.MapSignalR();
}
}
}
在运行我的客户机时,它不会出错,但我没有得到任何响应,也没有任何迹象表明MVC端发生了任何事情
有人能看出我在MVC应用程序方面出了什么问题吗?我不清楚是否需要改变路线。我很乐意发布任何其他有助于解决我的问题的代码。提前谢谢。尝试将.NET客户端上的连接转换为类似的异步方法,并快速测试连接是否良好
private async void Connect()
{
connection = new HubConnection("http://localhost:2446/");
hubProxy = connection.CreateHubProxy("ScanHub");
await connection.Start();
//If using WPF you can test like so if not use whatever output method you prefer to see if it connects
if (Connection.State == Microsoft.AspNet.SignalR.Client.ConnectionState.Connected)
{
MessageBox.Show("Connected!");
}
else
{
MessageBox.Show("Fail!");
}
}
你真的在使用信号器1.1吗?Signalr1.1在启动类中不使用OWIN,MapSignalR方法甚至不应该编译