У нас есть проект C / S, в котором есть как C #, так и C ++ код. И мы используем CLI для вызова методов C # в коде C ++. Теперь мы используем SignalR, и он работает в коде C #.
Однако, когда мы попытались обернуть SignalR API в слой CLI, мы обнаружили, что любые вызовы со стороны C ++ терпят неудачу.
Мой вопрос:
Есть ли какое-то ограничение на то, что проект C ++ CLI не может использовать в нем SignalR? Я знаю, что есть клиент SignalR C ++, если ответ «да», я к нему вернусь.
Здесь много кодов, поэтому я выберу несколько ключевых шагов:
HubConnection connection = new HubConnection(ServerURI);
HubProxy = connection.CreateHubProxy("SICHub");
this.RegistryAction(); // We register the notification action here
connection.Start(); // The exception throw here
Исключением является следующее:
Первое случайное исключение типа
«Microsoft.AspNet.SignalR.Client.HttpClientException» произошло в Microsoft.AspNet.SignalR.Client.dll
Дополнительная информация: StatusCode: 404, ReasonPhrase: «Not Found», версия: 1.1, Content: System.Net.Http.StreamContent, заголовки:
{
Подключение: закрыть
Дата: понедельник, 28 декабря 2015 г. 09:37:42 GMT
Сервер: Microsoft-HTTPAPI / 2.0
Длина контента: 315
Content-Type: text / html; Charset = US-ASCII
}
Если есть обработчик для этого исключения, программа может быть безопасно продолжена.
@PatrickHofman, спасибо, мы исправили эту проблему. Основной причиной первого исключения является неправильная конечная точка; основная причина следующего — мы передали неверный параметр. Спасибо за вашу помощь!
Других решений пока нет …