本文整理汇总了C#中IClient.OpenNamespace方法的典型用法代码示例。如果您正苦于以下问题:C# IClient.OpenNamespace方法的具体用法?C# IClient.OpenNamespace怎么用?C# IClient.OpenNamespace使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类IClient
的用法示例。
在下文中一共展示了IClient.OpenNamespace方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: Hypertable
public Hypertable(String host, String ns)
{
this.host = host;
this.ns = ns;
String conn = "Provider=Hyper;Uri=net.tcp://" + host;
htContext = Context.Create(conn);
htClient = htContext.CreateClient();
htNs = htClient.OpenNamespace(ns, OpenDispositions.OpenAlways | OpenDispositions.CreateIntermediate);
}
示例2: Find
/// <summary>
/// The find.
/// </summary>
/// <param name="client">
/// The client.
/// </param>
/// <param name="namespaceName">
/// The namespace name.
/// </param>
/// <param name="tableName">
/// The table name.
/// </param>
/// <param name="key">
/// The key.
/// </param>
/// <returns>
/// </returns>
public static Cell Find(IClient client, string namespaceName, string tableName, Key key)
{
using (var ns = client.OpenNamespace(namespaceName))
using (var table = ns.OpenTable(tableName))
{
using (var scanner = table.CreateScanner(new ScanSpec(key)))
{
Cell cell;
return scanner.Next(out cell) ? cell : null;
}
}
}
示例3: ClassInitialize
public static void ClassInitialize(Microsoft.VisualStudio.TestTools.UnitTesting.TestContext testContext)
{
const string Schema =
"<Schema><AccessGroup name=\"default\" blksz=\"1024\">" +
"<ColumnFamily><Name>a</Name></ColumnFamily>" +
"<ColumnFamily><Name>b</Name></ColumnFamily>" +
"<ColumnFamily><Name>c</Name></ColumnFamily>" +
"</AccessGroup></Schema>";
tableA = EnsureTable(typeof(TestMultipleInstances), Schema);
var properties = new Dictionary<string, object> { { "Uri", UriB } };
contextB = Hypertable.Context.Create(ConnectionString, properties);
clientB = contextB.CreateClient();
nsB = clientB.OpenNamespace(NsName, OpenDispositions.OpenAlways);
nsB.DropTable(typeof(TestMultipleInstances).Name, DropDispositions.IfExists);
nsB.CreateTable(typeof(TestMultipleInstances).Name, Schema);
tableB = nsB.OpenTable(typeof(TestMultipleInstances).Name);
}
示例4: BeginScan
/// <summary>
/// The begin scan.
/// </summary>
/// <param name="client">
/// The client.
/// </param>
/// <param name="namespaceName">
/// The namespace name.
/// </param>
/// <param name="tableName">
/// The table name.
/// </param>
/// <param name="action">
/// The action.
/// </param>
public static void BeginScan(IClient client, string namespaceName, string tableName, Action<IList<Cell>> action)
{
lock (SyncRoot)
{
tasks = tasks.Where(t => !t.IsCompleted).ToList();
}
var dispatcher = Dispatcher.CurrentDispatcher;
var beginScan = Task.Factory.StartNew(
() =>
{
using (var ns = client.OpenNamespace(namespaceName))
using (var table = ns.OpenTable(tableName))
{
var notify = new NotifyScannerStateChangedEventArgs();
lock (SyncRoot)
{
currentScan = notify.Id;
}
FireScannerStateChanged(dispatcher, notify);
if (client.Context.HasFeature(ContextFeature.AsyncTableScanner))
{
using (var asyncResult = new AsyncResult(
(asyncScannerContext, cells) =>
{
if (!IsCancelled(notify))
{
FireScannerStateChanged(dispatcher, notify.Executing(cells));
action(cells);
return AsyncCallbackResult.Continue;
}
return AsyncCallbackResult.Abort;
}))
{
table.BeginScan(asyncResult);
asyncResult.Join();
}
}
else
{
using (var scanner = table.CreateScanner())
using (var bc = new BlockingCollection<List<Cell>>())
{
var task = Task.Factory.StartNew(
() =>
{
try
{
while (!IsCancelled(notify))
{
var cells = bc.Take();
FireScannerStateChanged(dispatcher, notify.Executing(cells));
action(cells);
}
}
catch (InvalidOperationException)
{
}
});
const int ChunkSize = 2500;
var chunk = new List<Cell>(ChunkSize);
Cell cell;
for (var c = 1; !IsCancelled(notify) && scanner.Next(out cell); ++c)
{
chunk.Add(cell);
if ((c % chunk.Capacity) == 0)
{
bc.Add(chunk);
chunk = new List<Cell>(ChunkSize);
}
}
if (!IsCancelled(notify) && chunk.Count > 0)
{
bc.Add(chunk);
}
bc.CompleteAdding();
task.Wait();
}
}
//.........这里部分代码省略.........