회사에 데모를위한 첫 번째 SignalR 프로토 타입 개발.SignalR - "호출 결과가 수신되기 전에 연결이 끊어졌습니다"예외
문제 'GetChatUsers'라는 서버 함수를 호출 할 때 JS를 통해 메서드를 호출 할 때 '호출 결과가 수신되기 전에 연결이 끊어졌습니다'라는 예외가 발생합니다. 서버는 'ChatUser'의 'Return'을 실행합니다. 목적.
메서드에 대한 동기 호출을 사용하고 있으며 반환되는 IEnumerable 개체가 있는지 확인하기 위해 요청을 단계별로 수행했습니다. 서버가 실제로 클라이언트에 전달되면 클라이언트는 메소드 호출의 '.fail'메소드를 입력하고 예외가 표시됩니다. 여기
http://www.asp.net/signalr/overview/signalr-20/hubs-api/hubs-api-guide-server 내 서버 코드 ...이다 ... 나는 이런 일이 왜 모르겠지만, 서버 측과 'GetAllStocks'에 대한 요청이 여기에 내장되는 방식과 유사 클라이언트 측 논리를 구축
using System.Linq;
using System.Web;
using Microsoft.AspNet.SignalR;
using Microsoft.AspNet.SignalR.Hubs;
using UMARepository.DataModels;
namespace UMAChatHub.Service
{
public class ChatHub : Hub
{
public IEnumerable<ChatUsers> GetChatUsers()
{
return UMARepository.Service.ChatService.GetChatUsers();
}
}
}
JS/JQuery와 ...
var getChatUsers = function() {
var umaChatHubProxy = $.connection.chatHub;
umaChatHubProxy.connection.start().done(function() {
umaChatHubProxy.server.getChatUsers().done(function(users) {
$.each(users, function() {
console(this.firstName);
});
}).fail(function(ex) {
console(ex.message);
});
});
};
이 작동하지 않습니다. 반환 UMARepository.Service.ChatService.GetChatUsers(). ToList(); – War
반환 시도 전에 쿼리가 실행 된 경우 엔티티 집합을 반환해도 문제가되지 않아야한다고 생각합니다. 반환 된 결과로 참조가 반환 된 형식으로 크롤링되지 않는 한 이상합니다. – War
"dbContext.Configuration.LazyLoadingEnabled = false; dbContext.Configuration.ProxyCreationEnabled = false;"이 이벤트가 여전히 작동해야한다는 점은 주목할 가치가 있습니다. EF에서 게으른 로딩/프록시 유형을 끄려면 ... 그러나 이것을 테스트 한 후에 – War