Простая ситуация.Как подключиться к приложению сервера SignalR, которое находится на моем сервере удаленного рабочего стола (порты включены), с помощью клиента, который находится на моем компьютере.Соединение прекрасно работает в локальном хосте, и как только я указываю IP-адрес удаленного компьютера, он выдает ошибку 400.
На стороне сервера:
namespace SignalRHub
{
class Program
{
static void Main(string[] args)
{
string url = @"http://localhost:8080/";
using (WebApp.Start<Startup>(url))
{
Console.WriteLine(string.Format("Server running at {0}", url));
Console.ReadLine();
}
}
}
class Startup
{
public void Configuration(IAppBuilder app)
{
app.UseCors(CorsOptions.AllowAll);
app.MapSignalR();
}
}
[HubName("TestHub")]
public class TestHub : Hub
{
public void DetermineLength(string message)
{
Console.WriteLine(message);
string newMessage = string.Format(@"{0} has a length of: {1}", message, message.Length);
Clients.All.ReceiveLength(newMessage);
}
}
}
На стороне клиента
namespace SignalRClient
{
class Program
{
static void Main(string[] args)
{
IHubProxy _hub;
//string url = @"http://localhost:8080/";
string url = @"http://111.11.11.111:8080";
var connection = new HubConnection(url);
_hub = connection.CreateHubProxy("TestHub");
try
{
connection.Start().Wait();
Console.WriteLine("Connection OK. Connected to: "+url);
}
catch (Exception e)
{
Console.WriteLine(e);
Console.ReadLine();
throw;
}
_hub.On("ReceiveLength", x => Console.WriteLine(x));
string line = null;
while ((line = System.Console.ReadLine()) != null)
{
_hub.Invoke("DetermineLength", line).Wait();
}
Console.Read();
}
}
}
Ошибка дает:
"System.AggregateException: произошла одна или несколько ошибок. ---> Microsoft.AspNet.SignalR.Client.HttpClientException: StatusCode: 400, ReasonPhrase: 'Bad Request'"
Я знаю, что есть похожие темы, но, поскольку я знаком только с консолью C # и только приложениями для Windows, было бы здорово найти решение для подключения приложений к приложениям.Мой RDP-сервер полностью доступен. У меня работают базы данных и другие службы, поэтому проблема, очевидно, в коде.Я изменил IP в посте, кстати, так что это не реально .. PS Если я использую url = @ "http://*8080/" на стороне сервера, компилятор выдает" HttpListenerException: доступ запрещен "...