C# 클래스 Kudu.Core.Infrastructure.LockFile

상속: IOperationLock
파일 보기 프로젝트 열기: projectkudu/kudu 1 사용 예제들

공개 메소드들

메소드 설명
InitializeAsyncLocks ( ) : void
Lock ( string operationName ) : bool
LockAsync ( string operationName ) : System.Threading.Tasks.Task

Returns a lock right away or waits asynchronously until a lock is available.

LockFile ( string path ) : System
LockFile ( string path, ITraceFactory traceFactory ) : System
Release ( ) : void
TerminateAsyncLocks ( ) : void

Because of a bug in Ninject in how it disposes objects in the global scope for each request we can't use Dispose to shut down the file system watcher. Otherwise this would get disposed on every request.

보호된 메소드들

메소드 설명
OnLockAcquired ( ) : void
OnLockRelease ( ) : void

비공개 메소드들

메소드 설명
DeleteFileSafe ( ) : void
OnLockReleasedInternal ( object sender, FileSystemEventArgs e ) : void

When a lock file change has been detected we check whether there are queued up lock requests. If so then we attempt to get the lock and dequeue the next request.

ReadLockInfo ( ) : OperationLockInfo
TraceIfUnknown ( Exception ex ) : void
WriteLockInfo ( string operationName, Stream lockStream ) : void

메소드 상세

InitializeAsyncLocks() 공개 메소드

public InitializeAsyncLocks ( ) : void
리턴 void

Lock() 공개 메소드

public Lock ( string operationName ) : bool
operationName string
리턴 bool

LockAsync() 공개 메소드

Returns a lock right away or waits asynchronously until a lock is available.
public LockAsync ( string operationName ) : System.Threading.Tasks.Task
operationName string
리턴 System.Threading.Tasks.Task

LockFile() 공개 메소드

public LockFile ( string path ) : System
path string
리턴 System

LockFile() 공개 메소드

public LockFile ( string path, ITraceFactory traceFactory ) : System
path string
traceFactory ITraceFactory
리턴 System

OnLockAcquired() 보호된 메소드

protected OnLockAcquired ( ) : void
리턴 void

OnLockRelease() 보호된 메소드

protected OnLockRelease ( ) : void
리턴 void

Release() 공개 메소드

public Release ( ) : void
리턴 void

TerminateAsyncLocks() 공개 메소드

Because of a bug in Ninject in how it disposes objects in the global scope for each request we can't use Dispose to shut down the file system watcher. Otherwise this would get disposed on every request.
public TerminateAsyncLocks ( ) : void
리턴 void