DBSaveBatchRequestHandler.cs 955 字节
Newer Older
T
tanghai 已提交
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
using System;
using Model;

namespace Hotfix
{
	[MessageHandler(AppType.DB)]
	public class DBSaveBatchRequestHandler : AMRpcHandler<DBSaveBatchRequest, DBSaveBatchResponse>
	{
		protected override async void Run(Session session, DBSaveBatchRequest message, Action<DBSaveBatchResponse> reply)
		{
			DBSaveBatchResponse response = new DBSaveBatchResponse();
			try
			{
				DBCacheComponent dbCacheComponent = Game.Scene.GetComponent<DBCacheComponent>();

L
lin5 已提交
16
				if (string.IsNullOrEmpty(message.CollectionName))
T
tanghai 已提交
17
				{
T
tanghai 已提交
18
					message.CollectionName = message.Disposers[0].GetType().Name;
T
tanghai 已提交
19 20 21 22
				}

				if (message.NeedCache)
				{
T
tanghai 已提交
23
					foreach (Component disposer in message.Disposers)
T
tanghai 已提交
24
					{
T
tanghai 已提交
25
						dbCacheComponent.AddToCache(disposer, message.CollectionName);
T
tanghai 已提交
26 27 28
					}
				}

T
tanghai 已提交
29
				await dbCacheComponent.AddBatch(message.Disposers, message.CollectionName);
T
tanghai 已提交
30 31 32 33 34 35 36 37 38

				reply(response);
			}
			catch (Exception e)
			{
				ReplyError(response, e, reply);
			}
		}
	}
L
lin5 已提交
39
}