1
내 서버 응용 프로그램에서 servicestack을 사용하고 있습니다. 이 서비스를 시작하는 코드입니다 : 하트 비트가 작동하지 않는 순간하트 비트 설명
clientEvents = new ServerEventsClient(string.Format("http://{0}:{1}/", sIP, 20001), "messages");
client = (IServiceClient)(clientEvents.ServiceClient);
clientEvents.Resolver = resolver;
clientEvents.RegisterReceiver<GlobalReceiver>();
clientEvents.OnConnect = (e) =>
{
var msg = JsonObject.Parse(e.Json);
ConnectionInfo = new ServerEventConnect
{
HeartbeatIntervalMs = DefaultHeartbeatMs,
IdleTimeoutMs = DefaultIdleTimeoutMs,
}.Populate(e, msg);
ConnectionInfo.Id = msg.Get("id");
ConnectionInfo.HeartbeatUrl = msg.Get("heartbeatUrl");
ConnectionInfo.HeartbeatIntervalMs = msg.Get<long>("heartbeatIntervalMs");
ConnectionInfo.IdleTimeoutMs = msg.Get<long>("idleTimeoutMs");
ConnectionInfo.UnRegisterUrl = msg.Get("unRegisterUrl");
ConnectionInfo.UserId = msg.Get("userId");
ConnectionInfo.DisplayName = msg.Get("displayName");
ConnectionInfo.ProfileUrl = msg.Get("profileUrl");
};
,하지만 난 내가 뭔가를 놓친 확신 :
public override void Configure(Container container)
{
LogManager.LogFactory = new KCServiceObjects.ServiceLoggerFactory();
ServiceStack.Text.JsConfig.EmitCamelCaseNames = true;
Plugins.Add(new ServerEventsFeature()
{
HeartbeatInterval = TimeSpan.FromSeconds(60),
NotifyChannelOfSubscriptions = true,
});
Plugins.Add(new ValidationFeature());
container.Register<IServerEvents>(c => new MemoryServerEvents());
notifier = new FrontendMessages(container.Resolve<IServerEvents>(), broker);
container.Register(c => notifier);
container.Register<IWebServiceEventManager>(c =>
new WebServiceEventManager(broker));
SetConfig(new HostConfig
{
DebugMode = true,
DefaultContentType = MimeTypes.Json,
EnableFeatures = Feature.All.Remove(Feature.Html),
GlobalResponseHeaders =
{
{ "Access-Control-Allow-Origin", "*" },
{ "Access-Control-Allow-Methods", "GET, POST, PUT, DELETE" },
{ "Access-Control-Allow-Headers", "Content-Type" },
},
});
}
이 .NET 클라이언트입니다 내 코드. 로그를 보면 서버는 STOP()을 보낸 다음 START()를 보냅니다. 어떻게 C#으로 구현해야합니까? 클라이언트가 n 초마다 서버에 메시지를 보내야합니까? 모든 레오나르도
감사 대신 CORS
GlobalResponseHeaders
를 추가, 그냥
CorsFeature
플러그인, 예컨대을 등록합니다. 지금 하트 비트가 작동 중입니다! –