클라이언트를 자체 호스팅 된 SignalR 서버에 연결하려고합니다.자가 호스트 된 signalR 서버와 클라이언트를 연결하는 가장 간단한 샘플?
내 서버는 다음과 같습니다
static void Main(string[] args)
{
string url = "http://localhost:8081/";
var server = new Server(url);
server.MapConnection<MyConnection>("/echo");
server.Start();
Console.WriteLine("Server running on {0}", url);
Console.ReadKey();
}
public class MyConnection : PersistentConnection
{
}
그것은 내가 생각 해낸 할 수있는 간단한이었다. 그리고 클라이언트 모양은 다음과 같습니다 :
static void Main(string[] args)
{
SignalR.Client.Connection conn = new SignalR.Client.Connection("http://localhost:8081/echo");
Task start = conn.Start();
start.Wait();
if (start.Status == TaskStatus.RanToCompletion)
{
Console.WriteLine("Connected");
}
Console.ReadKey();
}
위의 코드는 작동하지 않습니다. 서버가 시작되었지만 연결할 클라이언트 코드를 실행할 때 오류가 발생했습니다.
원격 서버에서 오류를 반환했습니다 : (500) 내부 서버 오류.
그리고 서버에서 나에게 오류가 발생했습니다. 삭제 된 개체에 액세스 할 수 없습니다.
내가 깜빡 했나요? 내가 도대체 뭘 잘못하고있는 겁니까? 0 : 내가 서버에서 얻을 오류는 다음과 같은 ....
SignalRtest.vshost.exe 오류입니다 : 'System.AggregateException'형식의 첫째 예외 mscorlib에 발생 편집
.dll 작업에 의해 throw되는 SignalR 예외 : System.AggregateException : 하나 이상의 오류가 발생했습니다. ---> System.ObjectDisposedException : 폐기 된 개체에 액세스 할 수 없습니다. 개체 이름 : 'System.Net.HttpListenerResponse'. at System.Net.HttpListenerResponse.CheckDisposed() at System.Net.HttpListenerResponse.get_OutputStream() at SignalR.Hosting.Self.Infrastructure.ResponseExtensions. <> C_ DisplayClass4.b _1 (IAsyncResult를 아칸소) System.Threading.Tasks.TaskFactory.FromAsyncCoreLogic에서 (IAsyncResult를 IAR, 액션
1 endMethod, TaskCompletionSource
1 TCS) --- 내부 예외 스택 추적 끝 --- --- > (내부 예외 # 0) System.ObjectDisposedException : 폐기 된 개체에 액세스 할 수 없습니다. 개체 이름 : 'System.Net.HttpListenerResponse'. at System.Net.HttpListenerResponse.CheckDisposed() at System.Net.HttpListenerResponse.get_OutputStream() at SignalR.Hosting.Self.Infrastructure.ResponseExtensions. <> C_ DisplayClass4.b _1 (IAsyncResult를 아칸소) System.Threading.Tasks.TaskFactory.FromAsyncCoreLogic (IAsyncResult를 IAR, 액션 1 endMethod, TaskCompletionSource
1 TCS)에서 < --- 'client.vshost.exe'(관리 (v4.0.30319)) :로드 'C : \ WINDOWS \ 어셈블리 \ GAC_MSIL \의 Microsoft.VisualStudio.DebuggerVisualizers \ 10.0.0.0__b03f5f7f11d50a3a \ Microsoft.VisualStudio.DebuggerVisualizers.dll'그것 때문에 서버 변수를 배치하는 것처럼
이것에 대한 해결책이 있었습니까? 나는 똑같은 일을 경험하고있다. – Etch
아니요,하지만 vs11을 설치하고 디버그 모드로 실행하면 ..... 위의 코드가 실행됩니다 ..... –