本文整理汇总了C#中IContext.TransactionAvailable方法的典型用法代码示例。如果您正苦于以下问题:C# IContext.TransactionAvailable方法的具体用法?C# IContext.TransactionAvailable怎么用?C# IContext.TransactionAvailable使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类IContext
的用法示例。
在下文中一共展示了IContext.TransactionAvailable方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: GetContentReader
public IContentReader GetContentReader(IContext context)
{
Stream stream;
if (context.TransactionAvailable())
{
stream = TransactedFile.Open(_fileSystemInfo.FullName, FileMode.Open, FileAccess.Read, FileShare.None);
}
else
{
stream = File.Open(_fileSystemInfo.FullName, FileMode.Open, FileAccess.Read, FileShare.Read);
}
return new TxFContentReader(stream);
}
示例2: GetNodeChildren
public override IEnumerable<INodeFactory> GetNodeChildren(IContext context)
{
var dirInfo = _node.Item as DirectoryInfo;
if (null == dirInfo)
{
return null;
}
var entries = dirInfo.GetFilesTransacted().ToList();
entries.Take(2).ToList().ForEach(e =>
{
if (e.ToString().EndsWith("\\.") || e.ToString().EndsWith("\\.."))
{
entries.Remove(e);
}
});
entries.ToList().ForEach(e =>
{
if ((!context.TransactionAvailable() || -1 != (int)e.Attributes) && !context.Force && 0 != (e.Attributes & (FileAttributes.System | FileAttributes.Hidden)))
{
entries.Remove(e);
}
});
return entries.ConvertAll(fsi => new TxFNodeFactory(fsi)).Cast<INodeFactory>();
}
示例3: GetContentWriter
IContentWriter GetContentWriter(IContext context, string fullPath)
{
Stream stream;
if (context.TransactionAvailable())
{
stream = TransactedFile.Open(fullPath, FileMode.Open, FileAccess.Write, FileShare.None);
}
else
{
stream = File.Open(fullPath, FileMode.Open, FileAccess.Write, FileShare.None);
}
return new TxFContentWriter(stream);
}