Tôi có quy trình làm việc WF4 với nhiều chức năng nhận.Nhiều hoạt động nhận trong WF4 không thành công khi tính năng kiên trì được bật
Luồng công việc chạy tốt cho đến khi tôi thêm kiên trì. Tôi tạo ra các bảng kiên trì và bổ sung sau vào \ cấu hình \ System.ServiceModel \ hành vi \ serviceBehaviors phần của web.config của tôi:
<behavior>
<!-- To avoid disclosing metadata information, set the value below to false and remove the metadata endpoint above before deployment -->
<serviceMetadata httpGetEnabled="true" />
<!-- To receive exception details in faults for debugging purposes, set the value below to true. Set to false before deployment to avoid disclosing exception information -->
<serviceDebug includeExceptionDetailInFaults="true" />
<sqlWorkflowInstanceStore connectionStringName="InstanceStore"
instanceCompletionAction="DeleteAll"
instanceLockedExceptionAction= "NoRetry"
instanceEncodingOption="None"
hostLockRenewalPeriod="00:01:00"
/>
</behavior>
Các công việc chấp nhận một tham số đó là một thể hiện của một POCO WorkflowInstanceDTO Tôi có được xác định.
Khi tôi chạy workflow với đoạn mã sau
var wfi = new WFService.WorkflowInstanceDTO()
{
Id = 1,
InstanceId = new Guid(),
Description = "Awesome WFI",
WorkflowId = 1
};
proxy.Create(wfi);
Nó thất bại trên dòng proxy.Create với các lỗi sau.
Khóa cá thể có giá trị '11e5cf14-c2a8-0fbf-d3b5-c12a91c174ff' đã tồn tại. Điều này có thể là do có nhiều MessageQuerySets được định nghĩa để đánh giá cùng một CorrelationKey.
Khi sự kiên trì không được bật, tôi không gặp lỗi này. Có ai nhìn thấy điều này không? Tôi đang làm gì sai?