Io uso signalr
per implementare un'applicazione di chat.
Tuttavia, ottengo il seguente errore:
Impossibile avviare la connessione nel client Winform
`An exception of type 'Microsoft.AspNet.SignalR.Client.HttpClientException'
occurred in mscorlib.dll but was not handled in user code
Additional information: StatusCode: 500, ReasonPhrase: 'Internal Server Error', Version: 1.1, Content: System.Net.Http.StreamContent, Headers:
{
Date: Fri, 21 Aug 2015 07:22:52 GMT
Server: Microsoft-HTTPAPI/2.0
Content-Length: 0
}
non so perché. Sto usando signalR versione 2.2.0 Ecco il mio Hub
class ChatHub : Hub
{
public void Send(string message)
{
Clients.All.addMessage(message);
}
public override Task OnConnected()
{
Console.WriteLine("Client connected: " + Context.ConnectionId);
return base.OnConnected();
}
}
Ecco il mio Startup class
class Startup
{
public void Configuration(IAppBuilder app)
{
app.UseCors(CorsOptions.AllowAll);
app.MapSignalR();
}
}
programma Il mio Server
class Program
{
const string url = "http://localhost:8080";
static void Main(string[] args)
{
WebApp.Start(url);
Console.WriteLine("Started server at " + url);
Console.ReadLine();
}
}
La mia funzione nel cliente winform
private async void AsyncConnect()
{
Connection = new HubConnection(url);
chatProxy = Connection.CreateHubProxy("ChatHub");
chatProxy.On<string>("addMessage", message =>
txtMessageShow.Text += message + Environment.NewLine);
await Connection.Start();
}
Che tipo dai a 'Connection' e a' chatProxy'? Inoltre, cosa significa "url"? E 'uguale a quello di fom 'const string url'? –
Assegno 'HubConnection connection',' IHubProxy chatProxy' e l'url è 'const string url =" http: // localhost: 8080 "' – KlynkC
Prima di tutto, C# è case sensitive, quindi non si può avere confusione tra ' Connection' e 'connection'. In secondo luogo, 'url' dovrebbe essere' http: // localhost: 8080' –