Example #1
0
        /// <summary>调用</summary>
        /// <param name="host"></param>
        /// <param name="session"></param>
        /// <param name="action">服务操作</param>
        /// <param name="args">参数</param>
        /// <param name="flag">标识</param>
        /// <returns></returns>
        public static Boolean Invoke(IApiHost host, IApiSession session, String action, Object args, Byte flag = 0)
        {
            if (session == null)
            {
                return(false);
            }

            host.StatSend?.Increment();

            // 编码请求
            var pk = EncodeArgs(host.Encoder, action, args);

            // 构造消息
            var msg = new DefaultMessage
            {
                OneWay  = true,
                Payload = pk,
            };

            if (flag > 0)
            {
                msg.Flag = flag;
            }

            return(session.Send(msg));
        }