如何强制 ServiceStack 序列化一个对象

How to force ServiceStack to serialize an object

我这样声明我的 reponse-dto:

[Route("/activity/sync", HttpVerb.Get)]
public class SyncActivityRequest : IReturn<SyncActivityResponse>
{
    public ICollection<SyncParam> ObjectsToSync { get; set; }
}

public class SyncActivityResponse
{
    public ICollection<KeyValuePair<Activity, SyncMetadata>> Result { get; set; }
}

问题是 ServiceStack 没有序列化 Activity 和 SyncMetadata,因为它们只是另一个对象(在本例中为 KeyValuePair)的类型参数。 这两个对象(activity 和 syncmetadata)都在同一个项目中声明。

如何强制序列化这两个对象?

谢谢!

您应该 avoid using interfaces or objects in DTOs,改用 List<T>T[] 等具体类型。