static IInlineMessage CheckMessage(IMessagePoster poster, IMessageItem message) { var re = poster.CheckMessage(message); if (re != null) { return(re); } var ctx = GlobalContext.CurrentNoLazy; if (message is IInlineMessage inline) { if (ctx != null && ctx.Message == message) { inline = inline.CopyToRequest(); } else { inline.ResetToRequest(); } } else { inline = new InlineMessage { ID = message.ID, Service = message.Service, Method = message.Method, Result = message.Result, Argument = message.Argument, DataState = MessageDataState.ArgumentOffline }; } inline.CheckPostTraceInfo(); return(inline); }