我在控制台应用中托管了一个集线器,并连接了一个WPF应用。它运作得很好。然后我将集线器移动到一个单独的项目中,并将主机的引用添加到新项目中。现在我收到500错误,没有其他细节。
为了从另一个汇编/命名空间托管集线器,还有什么不同需要做的吗?
编辑: 打开问题后我尝试了一些事情。这是我到目前为止所尝试的:
以下是传回的异常。
“System.Net.WebException:远程服务器返回错误:(500)内部服务器错误。
在System.Net.HttpWebRequest.EndGetResponse(IAsyncResult asyncResult)
在Microsoft.AspNet.SignalR.Client.Http.HttpHelper。<> c_ DisplayClass2.b _0(IAsyncResult ar)
在System.Threading.Tasks.TaskFactory 1.FromAsyncCoreLogic(IAsyncResult iar, Func
2 endFunction,Action 1 endAction, Task
1 promise,Boolean requiresSynchronization)“
答案 0 :(得分:8)
这对我有用(启动时)
AppDomain.CurrentDomain.Load(typeof(MyHub).Assembly.FullName);
的信用
答案 1 :(得分:0)
尝试查看http响应消息
try
{
hubConnection.Start().Wait();
}
catch (Exception error)
{
if (error.InnerException is WebException)
{
WebException webError = (WebException)error.InnerException;
Console.WriteLine(webError.Status);
Console.WriteLine(webError.Response);
}
}
答案 2 :(得分:0)
您是否已将电话注册到新的dll?即以下内容需要在您的新项目中(但仍然从global.asax调用):
RouteTable.Routes.MapHubs();
您可能还需要在新的RegisterHubs类中使用[WebActivator PreApplicationStart属性](http://msdn.microsoft.com/en-us/library/system.web.preapplicationstartmethodattribute.aspx)以确保它及时注册
答案 3 :(得分:0)
确保单独的DLL引用Microsoft.CSharp.dll
- 这是dynamic
代码所必需的。