我是服务架构的新手,并开始查看有关该主题的MSDN文章.我首先在这里实现了Hello World示例.
我将他们原来的RunAsync实现更改为:
var myDictionary = await this.StateManager.GetOrAddAsync<IReliableDictionary<int, DataObject>>("myDictionary");
while (!cancellationToken.IsCancellationRequested)
{
DataObject dataObject;
using (var tx = this.StateManager.CreateTransaction())
{
var result = await myDictionary.TryGetValueAsync(tx, 1);
if (result.HasValue)
dataObject = result.Value;
else
dataObject = new DataObject();
//
dataObject.UpdateDate = DateTime.Now;
//
//ServiceEventSource.Current.ServiceMessage(
// this,
// "Current Counter Value: {0}",
// result.HasValue ? result.Value.ToString() : "Value does not exist.");
await myDictionary.AddOrUpdateAsync(tx, 1, dataObject, ((k, o) => dataObject));
await tx.CommitAsync();
}
await Task.Delay(TimeSpan.FromSeconds(1), cancellationToken);
}
Run Code Online (Sandbox Code Playgroud)
我还介绍了一种DataObject类型,并在该类型上公开了UpdateDate属性.
[DataContract(Namespace = "http://www.contoso.com")]
public …Run Code Online (Sandbox Code Playgroud)