我们有一个WCF,每天将文件上传到SharePoint一次。如果文件名包含与SharePoint中的某些数据不匹配的任何数据,则会将接受的文件上载到SharePoint时拒绝并移动到被拒绝的文件夹(并记录拒绝)。
有时拒绝的文件会被“拒绝”(不是因为与SharePoint中的数据不匹配),可能是因为ShP在WCF运行时有任何停机时间。这会引起一些混淆(预期的原因是文件名与ShP数据不匹配,但没有)。
我们希望WCF再次尝试拒绝的文件,然后再次运行该方法,如果失败,则应将其移动(并记录)到被拒绝的文件夹。
WCF致电:
[OperationContract]
void ExecuteFileImport();
方法ExecuteFileImport
//The files.AcceptedFiles have already sorted out the files that have correct file name format
//(eg. File1_20161010_version1.docx, it rejects the file if it has eg. File120161010_version1.docs)
foreach (var file in files.AcceptedFiles)
{
//..... Some logic to compare the file name to ShP list item data
try
{
this.SharePointHandler.AddFileToShPList(file, dataFromShPList);
}
catch (Exception ex)
{
response.ErrorMessages.Add(ex, file.fileName);
// Moves the file to rejected folder.
//Here (or in the try block) I want to try the AddFileToShPList again with delay if it fails
// (ShP down, patching, metadata service is down etc) before moving the file to rejected folder
}
}
有几次,当修补ShP并且WCF正在运行时,由于这个原因,它会将文件移动到被拒绝的文件夹。
这可以解决吗?
答案 0 :(得分:0)