首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MSOrleans 2.0 Ado.net持久性

MSOrleans 2.0 Ado.net持久性
EN

Stack Overflow用户
提问于 2019-12-11 00:56:25
回答 1查看 109关注 0票数 0

我在MsOrleans上做了POC,并试图在ado.net中保存颗粒。但在启动思洛时出现以下错误。

代码语言:javascript
复制
: Orleans.Runtime.SiloLifecycleSubject[100450]
      Lifecycle observer Orleans.Storage.AdoNetGrainStorage-OrleansStorage failed to start due to errors at stage 10000.
System.InvalidOperationException: Sequence contains no matching element
   at System.Linq.Enumerable.Single[TSource](IEnumerable`1 source, Func`2 predicate)
   at Orleans.Storage.AdoNetGrainStorage.Init(CancellationToken cancellationToken) in D:\build\agent\_work\23\s\src\AdoNet\Orleans.Persistence.AdoNet\Storage\Provider\AdoNetGrainStorage.cs:line 409
   at Orleans.Runtime.SiloLifecycleSubject.MonitoredObserver.OnStart(CancellationToken ct) in D:\build\agent\_work\23\s\src\Orleans.Runtime\Lifecycle\SiloLifecycleSubject.cs:line 75
fail: Orleans.Runtime.SiloLifecycleSubject[100450]
      Lifecycle start canceled due to errors at stage 10000
System.InvalidOperationException: Sequence contains no matching element
   at System.Linq.Enumerable.Single[TSource](IEnumerable`1 source, Func`2 predicate)
   at Orleans.Storage.AdoNetGrainStorage.Init(CancellationToken cancellationToken) in D:\build\agent\_work\23\s\src\AdoNet\Orleans.Persistence.AdoNet\Storage\Provider\AdoNetGrainStorage.cs:line 409
   at Orleans.Runtime.SiloLifecycleSubject.MonitoredObserver.OnStart(CancellationToken ct) in D:\build\agent\_work\23\s\src\Orleans.Runtime\Lifecycle\SiloLifecycleSubject.cs:line 75
   at Orleans.LifecycleSubject.WrapExecution(CancellationToken ct, Func`2 action) in D:\build\agent\_work\23\s\src\Orleans.Core\Lifecycle\LifecycleSubject.cs:line 115
   at Orleans.LifecycleSubject.OnStart(CancellationToken ct) in D:\build\agent\_work\23\s\src\Orleans.Core\Lifecycle\LifecycleSubject.cs:line 55
fail: Orleans.Runtime.Silo[100439]
      Exception during Silo.Start
Orleans.Runtime.OrleansLifecycleCanceledException: Lifecycle start canceled due to errors at stage 10000 ---> System.InvalidOperationException: Sequence contains no matching element
   at System.Linq.Enumerable.Single[TSource](IEnumerable`1 source, Func`2 predicate)
   at Orleans.Storage.AdoNetGrainStorage.Init(CancellationToken cancellationToken) in D:\build\agent\_work\23\s\src\AdoNet\Orleans.Persistence.AdoNet\Storage\Provider\AdoNetGrainStorage.cs:line 409
   at Orleans.Runtime.SiloLifecycleSubject.MonitoredObserver.OnStart(CancellationToken ct) in D:\build\agent\_work\23\s\src\Orleans.Runtime\Lifecycle\SiloLifecycleSubject.cs:line 75
   at Orleans.LifecycleSubject.WrapExecution(CancellationToken ct, Func`2 action) in D:\build\agent\_work\23\s\src\Orleans.Core\Lifecycle\LifecycleSubject.cs:line 115
   at Orleans.LifecycleSubject.OnStart(CancellationToken ct) in D:\build\agent\_work\23\s\src\Orleans.Core\Lifecycle\LifecycleSubject.cs:line 55
   --- End of inner exception stack trace ---
   at Orleans.LifecycleSubject.OnStart(CancellationToken ct) in D:\build\agent\_work\23\s\src\Orleans.Core\Lifecycle\LifecycleSubject.cs:line 63
   at Orleans.Runtime.Scheduler.AsyncClosureWorkItem.Execute() in D:\build\agent\_work\23\s\src\Orleans.Runtime\Scheduler\ClosureWorkItem.cs:line 63
   at Orleans.Runtime.Silo.StartAsync(CancellationToken cancellationToken) in D:\build\agent\_work\23\s\src\Orleans.Runtime\Silo\Silo.cs:line 264
Orleans.Runtime.OrleansLifecycleCanceledException: Lifecycle start canceled due to errors at stage 10000 ---> System.InvalidOperationException: Sequence contains no matching element
   at System.Linq.Enumerable.Single[TSource](IEnumerable`1 source, Func`2 predicate)
   at Orleans.Storage.AdoNetGrainStorage.Init(CancellationToken cancellationToken) in D:\build\agent\_work\23\s\src\AdoNet\Orleans.Persistence.AdoNet\Storage\Provider\AdoNetGrainStorage.cs:line 409
   at Orleans.Runtime.SiloLifecycleSubject.MonitoredObserver.OnStart(CancellationToken ct) in D:\build\agent\_work\23\s\src\Orleans.Runtime\Lifecycle\SiloLifecycleSubject.cs:line 75
   at Orleans.LifecycleSubject.WrapExecution(CancellationToken ct, Func`2 action) in D:\build\agent\_work\23\s\src\Orleans.Core\Lifecycle\LifecycleSubject.cs:line 115
   at Orleans.LifecycleSubject.OnStart(CancellationToken ct) in D:\build\agent\_work\23\s\src\Orleans.Core\Lifecycle\LifecycleSubject.cs:line 55
   --- End of inner exception stack trace ---
   at Orleans.LifecycleSubject.OnStart(CancellationToken ct) in D:\build\agent\_work\23\s\src\Orleans.Core\Lifecycle\LifecycleSubject.cs:line 63
   at Orleans.Runtime.Scheduler.AsyncClosureWorkItem.Execute() in D:\build\agent\_work\23\s\src\Orleans.Runtime\Scheduler\ClosureWorkItem.cs:line 63
   at Orleans.Runtime.Silo.StartAsync(CancellationToken cancellationToken) in D:\build\agent\_work\23\s\src\Orleans.Runtime\Silo\Silo.cs:line 264

当我在没有持久化的情况下启动竖井时,它工作正常。

代码示例:

思洛存储器adonet配置:

代码语言:javascript
复制
        builder
         .AddAdoNetGrainStorage("OrleansStorage", options =>
          {
              options.Invariant = "System.Data.SqlClient";
              options.ConnectionString = orleansConfig.ConnectionString;          
          });

Grain类:

代码语言:javascript
复制
    [StorageProvider(ProviderName = "OrleansStorage")]
    class CatalogGrain : Orleans.Grain<CatalogState>, ICatalogGrain
    {

 public async Task AddProductGrainToCatalog(IProductGrain productGrain)
        {

            State.Products.Add(productGrain);
            await base.WriteStateAsync(); 
        }
 }



public class CatalogState
    {
        public CatalogState()
        {
            Products = new List<IProductGrain>();
        }

        public string CatalogId { get; set; }

        public List<IProductGrain> Products { get; set; }
    }
EN

回答 1

Stack Overflow用户

发布于 2019-12-22 19:50:00

对于这个错误,我可以看到您已经运行了脚本来创建表,但是您错过了向其中添加数据的脚本。https://github.com/dotnet/orleans/blob/master/src/AdoNet/Orleans.Persistence.AdoNet/SQLServer-Persistence.sql文档确实提到了这是开发人员的一个常见错误。文档可以通过一步一步地添加how to而不是如此通用来更好。

无论如何,运行脚本并让我知道。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59272118

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档