Locks the item.
Instance of LockInfo with information about created lock.
Server can set lock with different timeout than the one was asked.
| Exception Type | Condition |
|---|---|
| PreconditionFailedException | The included lock token was not enforceable on this resource or the server could not satisfy the request in the lockinfo XML element. |
| LockedException | The resource is locked. The method has been rejected. |
| MethodNotAllowedException | The item does not support locking. |
| NotFoundException | The item doesn't exist on the server. |
| WebDavHttpException | Server returned unknown error. |
| WebDavException | Unexpected error occurred. |
string license = "<?xml version='1.0' encoding='utf...
WebDavSession session = new WebDavSession(license);
session.Credentials = new NetworkCredential("User1", "pwd");
IHierarchyItem item = session.OpenResource(new Uri("http://server:8580/Products/Sales.txt"));
LockInfo lockInfo = null;
try
{
lockInfo = item.Lock(LockScope.Shared, false, "User 1", TimeSpan.MaxValue);
}
catch (LockedException)
{
Console.Write("The item is locked.");
}
catch (MethodNotAllowedException)
{
Console.Write("The item does not alow locks.");
}
if (lockInfo!= null)
{
string timout = lockInfo.TimeOut == TimeSpan.MaxValue ? "Infinite" : lockInfo.TimeOut.TotalSeconds.ToString();
Console.WriteLine(lockInfo.Owner
+ " " + lockInfo.LockToken.Href
+ " " + lockInfo.LockToken.LockToken
+ " " + lockInfo.LockScope
+ " " + lockInfo.Deep
+ " " + timout);
}
IHierarchyItem Interface | ITHit.WebDAV.Client Namespace