protected override void OnStart(string[] args) { #if DEBUG if (!System.Diagnostics.Debugger.IsAttached) { System.Diagnostics.Debugger.Launch(); } #endif Repository.Repository.Initialize(CommandLineHelper.GetConfigFilePath(args) ?? Repository.Repository.DefaultDatabaseFilePath); ClientLogService.Initialize(CommandLineHelper.GetLogFilePath(args) ?? ClientLogService.DefaultLogFilePath); AddLog("WaterGate Service started"); using (StreamWriter stream = new StreamWriter(LogFilePath, true)) { stream.WriteLine("Служба запущена!"); stream.WriteLine(DateTime.Now); } workerThread.Start(); TCPlistenerthread.Start(); var repository = new Repository.Repository(); var port = repository.GetPortNumber(); var host = new ServiceHost(typeof(WaterGateRemoteService), new Uri("http://localhost:" + port + "/WaterGateService/soap")); var binding = new BasicHttpBinding() { MaxReceivedMessageSize = int.MaxValue }; host.AddServiceEndpoint(typeof(IWaterGateService), binding, string.Empty); host.Open(); }
/// <summary> /// 建立关系 /// </summary> /// <param name="token">Hash 客户端信息</param> /// <param name="fromClientId">int 邀请人客户端编号</param> /// <param name="scene">int 来源场景</param> /// <param name="encryptedData">string 群标识加密信息</param> /// <param name="iv">string 群标识加密向量</param> /// <returns>Hash 返回结果</returns> public static Hash Create(Hash token, int fromClientId, int scene, string encryptedData, string iv) { if (fromClientId == 0) { return(new Hash((int)CodeType.ClientRelateRequired, "邀请人不存在")); } Hash shareTicket = new Hash(); if (!Genre.IsNull(encryptedData) && !Genre.IsNull(iv) && !token.IsNull("sessionKey")) { ClientLogService.Append(encryptedData + " | " + iv + " | " + token.ToString("sessionKey")); shareTicket = API.GetEncryptedData(encryptedData, token.ToString("sessionKey"), iv); } if (shareTicket.IsNull("openGId")) { if (token.ToInt("clientId") != fromClientId) { ClientRelateData.Create(token.ToInt("clientId"), fromClientId, RelateType.FromFriend); ClientRelateData.Create(fromClientId, token.ToInt("clientId"), RelateType.FromFriend); } } else { ClientGroupData.Create(token.ToInt("clientId"), shareTicket.ToString("openGId")); ClientGroupData.Renovate(shareTicket.ToString("openGId")); } return(new Hash((int)CodeType.OK, "成功", shareTicket)); }
/// <summary> /// 新增client日志 /// </summary> /// <param name="sessionId"></param> /// <param name="clientModel"></param> /// <param name="description"></param> /// <returns></returns> public static ClientLogEntity clientLoginLog(string sessionId, ClientModel clientModel, string description) { UserModel user = UserUtils.Provider.GetUser(sessionId); ClientLogService clientLogService = new ClientLogService(); ClientLogEntity log = new ClientLogEntity(); log.Create(); log.CasLogId = user.CasLogId; log.AppId = clientModel.ClientId; log.AppName = clientModel.ClientName; log.AppUrl = clientModel.ClientUrl; log.ST = clientModel.Ticket; log.STValidated = clientModel.TicketValidated; log.STCreateTime = clientModel.TicketCreateTime; log.STEFTime = clientModel.TicketEFTime; log.STValidateTime = clientModel.TicketValidateTime; log.SESSIONID = UserUtils.Provider.getCurrentSession(); log.Description = description; return(clientLogService.Save(log) ? log : null); }
/// <summary> /// 退出时修改client日志 /// </summary> /// <param name="client"></param> /// <returns></returns> public static bool clientLogoutLog(ClientModel client) { try { ClientLogService clientLogService = new ClientLogService(); ClientLogEntity log = clientLogService.GetClientLog(client.ClientLogId); log.LogStatus = 0; log.LogoutTime = DateTime.Now; return(clientLogService.Update(log)); } catch (Exception ex) { LogUtils.myError(log, ex); return(false); } }
public ClientLogController() { _LogService = new ClientLogService(); }