代码大概这样
server
[MessageHandler(AppType.Map)]
public class C2M_GetAnnouncementList_Handler : AMRpcHandler<C2M_GetAnnouncementList, M2C_GetAnnouncementList>
{
protected override async ETTask Run(Session session, C2M_GetAnnouncementList request, M2C_GetAnnouncementList response, Action reply)
{
var dbProxy = Game.Scene.GetComponent<DBProxyComponent>();
var infos = await dbProxy.Query<AnnouncementInfo>(_announcement => _announcement.CountNum > 0);
response.Message = JsonHelper.ToJson(infos);
reply();
}
}
客户端
M2C_GetAnnouncementList result = (M2C_GetAnnouncementList)await SessionComponent.Instance.Session.Call(new C2M_GetAnnouncementList());
List<AnnouncementInfo> announcementNameList = MongoHelper.FromJson<List<AnnouncementInfo>>(result.Message);
实体类
这个类型继承 ETModel.Entity
using MongoDB.Bson.Serialization.Attributes;
namespace ETModel
{
/// <summary>
/// 账号信息
/// </summary>
[BsonIgnoreExtraElements]
public class AnnouncementInfo : Entity
{
//用户名
public int CountNum { get; set; }
//密码
public string Filename { get; set; }
}
}
数据传递是成功了,result.Message 没问题
但是解析的时候报错了。
