SYNC FRAMEWORK-Пакетная обработка

Я могу синхронизировать две удаленные базы данных, используя структуру синхронизации 2.1 через WCF (N-Tier).

Чтобы повысить производительность при передаче больших данных, я реализовал пакетную обработку.

Но я сталкиваюсь с сообщением об ошибке ниже:

An unexpected error occurred when applying batch file 1e1855e6-0b9a-4332-9fdb-07a25bc1bd49.batch. See the inner exception for more details.

Это происходит только с последним пакетным файлом. При применении последнего пакетного файла в наборе пакетных файлов код завершается с вышеуказанным сообщением об ошибке.

Ниже я вставляю xml-формат журнала веб-сервиса (внутреннее исключение):

<InnerException>
<ExceptionType>System.IO.FileNotFoundException, mscorlib, Version=4.0.0.0,     Culture=neutral, PublicKeyToken=b77a5c561934e089</ExceptionType>
<Message>Could not find file 'c:\windows\system32\inetsrv\1e1855e6-0b9a-4332-9fdb-07a25bc1bd49.batch'.</Message>
<StackTrace>
at System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath)
at System.IO.FileStream.Init(String path, FileMode mode, FileAccess access, Int32 rights, Boolean useRights, FileShare share, Int32 bufferSize, FileOptions options, SECURITY_ATTRIBUTES secAttrs, String msgPath, Boolean bFromProxy, Boolean useLongPath)
at System.IO.FileStream..ctor(String path, FileMode mode, FileAccess access, FileShare share, Int32 bufferSize, FileOptions options, String msgPath, Boolean bFromProxy)
at System.IO.FileStream..ctor(String path, FileMode mode)
at Microsoft.Synchronization.Data.DbSyncBatchInfoFactory.Deserialize(String batchFileName, Boolean deserializeData)
at Microsoft.Synchronization.Data.DbSyncBatchConsumer.ReadBatchFile(UInt32 lookupLocation, UInt32 expectedNumber)
at Microsoft.Synchronization.Data.DbSyncBatchConsumer.ReadBatchFile(UInt32 expectedNumber, String&amp; batchFileName)
at Microsoft.Synchronization.Data.DbSyncBatchConsumer.ApplyBatches(DbSyncScopeMetadata scopeMetadata, DbSyncSession syncSession, SyncSessionStatistics sessionStatistics)
</StackTrace>
<ExceptionString>System.IO.FileNotFoundException: Could not find file 'c:\windows\system32\inetsrv\1e1855e6-0b9a-4332-9fdb-07a25bc1bd49.batch'.
File name: 'c:\windows\system32\inetsrv\1e1855e6-0b9a-4332-9fdb-07a25bc1bd49.batch'
at System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath)
at System.IO.FileStream.Init(String path, FileMode mode, FileAccess access, Int32 rights, Boolean useRights, FileShare share, Int32 bufferSize, FileOptions options, SECURITY_ATTRIBUTES secAttrs, String msgPath, Boolean bFromProxy, Boolean useLongPath)
at System.IO.FileStream..ctor(String path, FileMode mode, FileAccess access, FileShare share, Int32 bufferSize, FileOptions options, String msgPath, Boolean bFromProxy)
at System.IO.FileStream..ctor(String path, FileMode mode)
at Microsoft.Synchronization.Data.DbSyncBatchInfoFactory.Deserialize(String batchFileName, Boolean deserializeData)
at Microsoft.Synchronization.Data.DbSyncBatchConsumer.ReadBatchFile(UInt32 lookupLocation, UInt32 expectedNumber)
at Microsoft.Synchronization.Data.DbSyncBatchConsumer.ReadBatchFile(UInt32 expectedNumber, String&amp; batchFileName)
at Microsoft.Synchronization.Data.DbSyncBatchConsumer.ApplyBatches(DbSyncScopeMetadata scopeMetadata, DbSyncSession syncSession, SyncSessionStatistics sessionStatistics)         
</ExceptionString>
</InnerException>

Ваша помощь и предложения очень ценятся!!

Заранее спасибо друзья!!


person user1745679    schedule 14.10.2012    source источник


Ответы (1)


попробуйте переместить каталог пакетной обработки за пределы папки IIS.

person JuneT    schedule 15.10.2012
comment
batchingdirectory устанавливается в папку %temp% как в исходном, так и в целевом поставщиках. Внутреннее исключение (вставленное выше) говорит: Не удалось найти файл 'c:\windows\system32\inetsrv\1e1855e6-0b9a-4332-9fdb-07a25bc1bd49.batch'. Пожалуйста, помогите мне, почему inetsrv не смог выбрать файл...uploadbatchfile методы успешно загружают все пакетные файлы, но не знаю, почему код завершается. - person user1745679; 15.10.2012