Model.MessageDispatherComponent.Handle C# (CSharp) Méthode

Handle() public méthode

public Handle ( Model.Session session, MessageInfo messageInfo ) : void
session Model.Session
messageInfo MessageInfo
Résultat void
		public void Handle(Session session, MessageInfo messageInfo)
		{
			List<IMHandler> actions;
			if (!this.handlers.TryGetValue(messageInfo.Opcode, out actions))
			{
				Log.Error($"消息 {messageInfo.Opcode} 没有处理");
				return;
			}

			Type messageType = this.GetType(messageInfo.Opcode);
			object message = MongoHelper.FromBson(messageType, messageInfo.MessageBytes, messageInfo.Offset, messageInfo.Count);
			messageInfo.Message = message;

			foreach (IMHandler ev in actions)
			{
				try
				{
					ev.Handle(session, messageInfo);
				}
				catch (Exception e)
				{
					Log.Error(e.ToString());
				}
			}
		}