Click or drag to resize

IFileCheckOutAsync Method

IT Hit WebDAV Classes Reference
Allow modifications to the content and custom properties of this version-controlled file.

Namespace:  ITHit.WebDAV.Client
Assembly:  ITHit.WebDAV.Client (in ITHit.WebDAV.Client.dll) Version: 6.0.4052-Beta
Syntax
Task CheckOutAsync(
	string lockToken = null,
	IDictionary<string, string> headers = null,
	CancellationToken cancellationToken = null
)

Parameters

lockToken (Optional)
Type: SystemString
Lock token for this item.
headers (Optional)
Type: System.Collections.GenericIDictionaryString, String
Request headers.
cancellationToken (Optional)
Type: System.ThreadingCancellationToken
Propagates notification that operations should be canceled.

Return Value

Type: Task

[Missing <returns> documentation for "M:ITHit.WebDAV.Client.IFile.CheckOutAsync(System.String,System.Collections.Generic.IDictionary{System.String,System.String},System.Threading.CancellationToken)"]

Exceptions
ExceptionCondition
InvalidCheckOutCheckInStateException The resource must be versionable and in checked in state.
UnsupportedDeltaVResult Server returned result that is not supported by this client( DAV:checkout-of-version-with-descendant-is-forbidden DAV:checkout-of-version-with-descendant-is-discouraged DAV:checkout-of-checked-out-version-is-forbidden DAV:checkout-of-checked-out-version-is-discouraged)
LockedExceptionThis item is locked and invalid lock token was provided.
UnauthorizedExceptionRequest is not authorized.
NotFoundExceptionThis resource doesn't exist on the server.
WebDavHttpExceptionServer returned unknown error.
WebDavExceptionIn case of any unexpected error.
Remarks
To allow modifications on a version-controlled item it must be first checked-out. If you would like to protect item from being modified by other users you will also lock the item.
Examples
The following example demonstrates how to lock item, check-out, update, check-in, unlock and set comment and author for a version.
string license = "<?xml version='1.0' encoding='utf...
WebDavSessionAsync session = new WebDavSessionAsync(license);
session.Credentials = new NetworkCredential("User1", "pwd");

IFile file = await session.GetFileAsync(new Uri("https://server/directory/file.docx"));
LockInfo lockInfo = await file.LockAsync(LockScope.Exclusive, false, "John Walter", TimeSpan.MaxValue);
await file.CheckOutAsync(lockInfo.LockToken.LockToken);
await file.UpdatePropertiesAsync(
    new Property[] {new Property(new PropertyName("amount", "server"), "2")}, null,
    lockInfo.LockToken.LockToken);
IVersion version = await file.CheckInAsync(lockInfo.LockToken.LockToken);
await file.UnlockAsync(lockInfo.LockToken.LockToken);
await version.SetCommentAndAuthorAsync("Fixed some bugs.", "John");
See Also