我有服务和WinForm应用程序之间的IPC通信。他们互通与类的帮助下,利用以下接口:通过任务<T>通过IPC
public interface IBaseIPC
{
Task<IPCConfig> GetConfig();
Task<IPCInfo> Activate(IPCConfig ipcConfig);
Task<IPCInfo> CancelActivation();
Task<IPCInfo> GetInfo();
Task<IPCInfo> Renew();
Task<string> TestConnection(IPCConfig ipcConfig);
}
当这些方法是同步的,它工作得很好。现在,当返回类型从IPCConfig切换到任务时,我在Assembly'mscorlib,Version = 4.0.0.0,Culture = neutral,PublicKeyToken =中得到一个异常类型'System.Threading.Tasks.Task`1 [[IPCInfo] b77a5c561934e089'未标记为可序列化。 我看到它试图序列化任务并失败。有没有解决这个问题的方法?
将kruoli的答案转换为注释:*可能[此链接](http://blogs.msdn.com/b/lucian/archive/2012/11/24/how-to-hibernate-async-methods-how -to-serialize-task.aspx)是一个很好的解释。* – hyde