小编mar*_*net的帖子

服务结构 - 有状态服务持久性

我是服务架构的新手,并开始查看有关该主题的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)

azure azure-service-fabric

5
推荐指数
1
解决办法
1939
查看次数

标签 统计

azure ×1

azure-service-fabric ×1