Мы не можем подключиться к концентратору signalR, развернутому на сервере (Windows Server 2008 Enterprise SP2 и IIS 6) через консольное приложение, мы протестировали все локально на ПК, и оно работало нормально, но развернуто на сервере (IIS6) мы не смогли подключиться удаленно или даже локально на самом сервере.
Нет опыта работы с SignalR, но тот же клиент работает нормально на обычном ПК.(клиент и концентратор в одном компьютере).Мы проверили подключение и разрешения на сервер, и все в порядке.Мы можем достичь URL-адреса хаба (http://hr1/HRNotificationHub), когда вызываем его удаленно через веб-браузер, но при добавлении сигнальных / хабов в браузере также появляется ошибка 404.
static void Main(строка [] args) // Клиент {try {IHubProxy _hub;
string url = @"http://localhost/HRNotificationHub/";
var connection = new HubConnection(url);
_hub = connection.CreateHubProxy("HRHub");
connection.Start().Wait();
_hub.On("ReceiveMessage", x => Console.WriteLine(x));
string line = null;
while ((line = System.Console.ReadLine()) != null)
{
_hub.Invoke("BroadcastMessageToAll", line).Wait();
}
Console.Read();
}
catch (Exception ex)
{
Console.WriteLine(ex.InnerException.ToString());
Console.Read();
}
}
public class Startup //Server
{
public void Configuration(IAppBuilder app)
{
app.UseCors(CorsOptions.AllowAll);
var hubConfiguration = new HubConfiguration()
{
EnableDetailedErrors = true,
EnableJSONP = true,
EnableJavaScriptProxies = true
};
app.MapSignalR(hubConfiguration);
}
}
[HubName("HRHub")]
public class HRHub : Hub //Hub Class
{
public void BroadcastMessageToAll(string message)
{
Clients.All.newMessageReceived(message);
var newMessage = message + "-newmessage";
Clients.All.ReceiveMessage(newMessage);
}
public void JoinAGroup(string group)
{
Groups.Add(Context.ConnectionId, group);
}
public void RemoveFromAGroup(string group)
{
Groups.Remove(Context.ConnectionId, group);
}
public void BroadcastToGroup(string message, string group)
{
Clients.Group(group).newMessageReceived(message);
}
}