我们有一个C / S项目,它同时包含C#和C ++代码。我们使用CLI在C ++代码中调用C#方法。现在我们使用SignalR,它适用于C#代码。
但是,当我们尝试在CLI层中包装SignalR API时,我们发现来自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.dll中出现'Microsoft.AspNet.SignalR.Client.HttpClientException'
其他信息:StatusCode:404,ReasonPhrase:'Not Found',版本:1.1,内容:System.Net.Http.StreamContent,标题:
{
连接:关闭
日期:星期一,2015年12月28日09:37:42 GMT
服务器:Microsoft-HTTPAPI / 2.0
内容长度:315
Content-Type:text / html;字符集= US-ASCII
}
如果存在此异常的处理程序,则可以安全地继续该程序。
答案 0 :(得分:0)
@PatrickHofman,谢谢,我们解决了这个问题。第一个例外的根本原因是错误的端点;下一个的根本原因是我们传递了错误的参数。谢谢你的帮助!