此问题是上一个线程的继续。 store cancellation tokens in service fabric services
打开一个新线程,因为回答这个问题并不容易。
总结关于在服务结构的某些分区中取消在特定服务中运行的作业/任务所讨论的内容:
取消令牌限制:
取消令牌在服务分区内工作,这是按分区存储实例的限制,这可能是取消令牌未提供可序列化属性的原因(尝试使用ISerializationSurrogate序列化为字节数组并保存为类附加了DataContract属性,并且在反序列化时会丢失所有嵌套的struct数据。)因此,不能使用可靠的字典。
在服务结构应用程序中两种不同的取消令牌用法:
问题属于该主题:
您如何将通过多个分区端点接收到的API请求转发到正确的分区?我想,一旦请求已从Web API端点转发到正确的分区,那么这似乎很有意义,因为在那时,您应该能够简单地调用该特定分区中存储的cancelledtoken的canceltokensource.cancel(),并假设该cancelingtoken.Cancel()在分区上起作用。