IResource.CheckOut Method ()

IT Hit WebDAV for .NET

Allow modifications to the content and custom properties of this version-controlled resource.

[Visual Basic]
Sub CheckOut()
[C#]
void CheckOut();

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.

Exceptions

Exception Type Condition
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)
LockedException The resource is locked and no lock token was provided.
UnauthorizedException Request is not authorized.
NotFoundException This resource doesn't exist on the server.
WebDavHttpException Server returned unknown error.
WebDavException In case of any unexpected error.

Example

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...
WebDavSession session = new WebDavSession(license);
session.Credentials = new NetworkCredential("User1", "pwd");

IResource resource = session.OpenResource(new Uri("http://server/directory/resource.docx"));
LockInfo lockInfo = resource.Lock(LockScope.Exclusive, false, "John Walter", TimeSpan.MaxValue);
resource.CheckOut(lockInfo.LockToken.LockToken);
resource.UpdateProperties(
    new Property[] {new Property(new PropertyName("amount", "server"), "2")}, null,
    lockInfo.LockToken.LockToken);
IVersion version = resource.CheckIn(lockInfo.LockToken.LockToken);
resource.Unlock(lockInfo.LockToken.LockToken);
version.SetCommentAndAuthor("Fixed some bugs.", "John");
                
            

See Also

IResource Interface | ITHit.WebDAV.Client Namespace | IResource.CheckOut Overload List