コード例 #1
0
        /// <summary>
        /// 发送信息
        /// </summary>
        /// <param name="message"></param>
        /// <returns></returns>
        public JsonResult SendMessage(string sessionID, string message)
        {
            //上海问题.日志记录 2015.03.11
            ChatLog.GetInstance().Info("SH_BUG|SendMessage|{{【sessionID】:" + sessionID +
                                       ",【Method】:" + Request.HttpMethod +
                                       ",【IP】:" + Request.UserHostAddress +
                                       ",【QueryString】:" + Server.UrlDecode(Request.QueryString.ToString()) +
                                       ",【Form】:" + Server.UrlDecode(Request.Form.ToString()) +
                                       ",【Header】:" + Server.UrlDecode(Request.Headers.ToString()) +
                                       "}}");

            if (!IsUserAgent() || !IsXMLRequest())
            {
                return(Json("", JsonRequestBehavior.AllowGet));
            }
            var context = new CustomerChatContext(sessionID);

            try
            {
                message = SafetyHtml(message);
                context.SendMessage(message);
            }
            catch (Exception ex)
            {
                ChatLog.GetInstance().LogException(ex);
            }
            return(Json("", JsonRequestBehavior.AllowGet));
        }
コード例 #2
0
        /// <summary>
        /// 链接ChatServer服务器
        /// </summary>
        /// <returns></returns>
        public JsonResult ConnectionServer(string sessionID, string queryString)
        {
            //上海问题.日志记录 2015.03.11
            ChatLog.GetInstance().Info("SH_BUG|ConnectionServer|{{【sessionID】:" + sessionID +
                                       ",【Method】:" + Request.HttpMethod +
                                       ",【IP】:" + Request.UserHostAddress +
                                       ",【QueryString】:" + Server.UrlDecode(Request.QueryString.ToString()) +
                                       ",【Form】:" + Server.UrlDecode(Request.Form.ToString()) +
                                       ",【Header】:" + Server.UrlDecode(Request.Headers.ToString()) +
                                       "}}");

            if (!IsUserAgent() || !IsXMLRequest())
            {
                return(Json("", JsonRequestBehavior.AllowGet));
            }
            string status = "正在尝试连接……";

            try
            {
                // 根据当前会话ID,找到所在聊天室
                CustomerChatContext context = new CustomerChatContext(sessionID, queryString);
                context.InitConnecton();
                if (context.IsAvailableConnection)
                {
                    status = "OK.";
                }
            }
            catch (Exception ex)
            {
                ChatLog.GetInstance().LogException(ex);
            }
            return(Json(status, JsonRequestBehavior.AllowGet));
        }
コード例 #3
0
 /// <summary>
 /// 离开聊天
 /// </summary>
 /// <returns></returns>
 public JsonResult LeftChat(string sessionID)
 {
     if (!IsUserAgent() || !IsXMLRequest())
     {
         return(Json("", JsonRequestBehavior.AllowGet));
     }
     try
     {
         var context = new CustomerChatContext(sessionID);
         context.LeftChat();
     }
     catch (Exception ex)
     {
         ChatLog.GetInstance().LogException(ex);
     }
     return(Json("", JsonRequestBehavior.AllowGet));
 }
コード例 #4
0
 /// <summary>
 /// 发送输入状态
 /// Paused/Typing
 /// </summary>
 /// <param name="status"></param>
 public JsonResult UpdateTypingStatus(string sessionID, int isStarted)
 {
     if (!IsUserAgent() || !IsXMLRequest())
     {
         return(Json("", JsonRequestBehavior.AllowGet));
     }
     try
     {
         var context = new CustomerChatContext(sessionID);
         context.SendTypingNotice(isStarted);
     }
     catch (Exception ex)
     {
         ChatLog.GetInstance().LogException(ex);
     }
     return(Json("", JsonRequestBehavior.AllowGet));
 }
コード例 #5
0
        /// <summary>
        /// 获取信息
        /// </summary>
        /// <returns></returns>
        public JsonResult GetInfo_wap(string sessionID)
        {
            ClientChatMsgList msgList = new ClientChatMsgList();

            if (!IsUserAgent() || !IsXMLRequest())
            {
                return(Json(msgList, JsonRequestBehavior.AllowGet));
            }
            try
            {
                CustomerChatContext context = new CustomerChatContext(sessionID);
                msgList.Init(context, true);
            }
            catch (Exception ex)
            {
                ChatLog.GetInstance().LogException(ex);
            }
            return(Json(msgList, JsonRequestBehavior.AllowGet));
        }
コード例 #6
0
        private void btnCon_Click(object sender, EventArgs e)
        {
            Dictionary <string, object> dict = new Dictionary <string, object>();

            dict["EnterID"]          = "9999";
            dict["UserID"]           = "12345";
            dict["UserName"]         = "******";
            dict["MachineNo"]        = "123456";
            dict["strServiceCardNo"] = "123456";

            // 根据当前会话ID,找到所在聊天室
            context = new CustomerChatContext(SESSION_ID, JsonConvert.SerializeObject(dict));
            context.InitConnecton();
            if (context.IsAvailableConnection)
            {
                //context.RequestChat();
                this.btnSend.Visible = true;
                this.btnStop.Visible = true;
            }
        }