2012-10-14 2 views
1

WCF (N-Tier)에서 동기화 프레임 워크 2.1을 사용하여 두 개의 원격 데이터베이스를 동기화 할 수 있습니다.SYNC FRAMEWORK-Batching

대용량 데이터를 전송하는 동안 성능을 향상시키기 위해 배치를 구현했습니다.

하지만 오류 메시지가 아래에 직면하고있다 :

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> 

여러분의 도움과 제안을 매우 감사합니다!

미리 감사드립니다.

답변

0

IIS 폴더 외부에서 일괄 처리 디렉터리를 이동하십시오.

+0

소스 및 대상 공급자 모두에서 batchingdirectory가 % temp % 폴더로 설정됩니다. 내부 예외 (위의 붙여 넣기) : "파일을 찾을 수 없습니다 'c : \ windows \ system32 \ inetsrv \ 1e1855e6-0b9a-4332-9fdb-07a25bc1bd49.batch'".plz 왜 inetsrv 파일을 선택할 수 없습니다. .uploadbatchfile 메소드는 모든 batchfiles를 성공적으로 업로드하지만 코드가 종료되는 이유를 알지 못합니다. – user1745679