当前位置: 首页 > 编程语言 > C#

C#LearningTutorial-Guidcausesformatexceptionshare

时间:2023-04-11 12:20:35 C#

Guidcausesformatexception我正在尝试设置RavenDb3.5和NServiceBus6。输入在NServiceBus端点中设置的图例后,我输入一个处理程序。完成此处理程序后,我收到此错误:System.FormatException:Guidexpectedtocontain32digitswith4dashes(xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx)。我的代码:publicstaticclassAutoFacConfig{publicstaticIContainerConfigureAutofac(){varbuilder=newContainerBuilder();varresourceManagerId=newGuid("6c9abcbb-c7ca-4a67-a149-5142f633f535");vardtcRecoveryBasePath=Environment.GetFolderPath(Environment.SpecialFolder.CommonApplicationData);varrecoveryPath=Path.Combine(dtcRecoveryBasePath,"NServiceBus.RavenDB",resourceManagerId.ToString());builder.Register(x=>{varstore=newDocumentStore{ConnectionStringName="RavenDB",ResourceManagerId=resourceManagerId,TransactionRecoveryStorage=newLocalDirectoryTransactionRecoveryStorage(recoveryPath)};store.DefaultDatabase="MyDB";store.Initialize();store.Conventions.IdentityPartsSeparator="-";返回商店;}).As().SingleInstance();builder.Register(x=>{varfileStore=newFilesStore(){Url="http://localhost:40000",DefaultFileSystem="MyFS",}.Initialize();returnfileStore;}).SingleInstance();返回建设者.建设();}}在传奇中:protectedoverridevoidConfigureHowToFindSaga(SagaPropertyMappermapper){mapper.ConfigureMapping(m=>m.DataId).ToSaga(s=>s.DataId);}publicasyncTaskHandle(StartFileToOrderSagaCommandmessage,IMessageHandlerContextcontext){//执行验证ValidateXmlCommandData.DataId=message.DataId;awaitcontext.Send(x=>{x.Filename=message.Filename;x.CustomerId=message.CustomerId;});这是堆垛追踪:在System.Guid.TryParseGuidWithNoStyle(StringguidString,GuidResult&result)在System.Guid.TryParseGuid(Stringg,GuidStylesflags,GuidResult&result)在System.Guid..ctor(Stringg)在Raven.Client.Converters.GuidConverter.ConvertTo(Stringvalue)inC:BuildsRavenDB-Stable-3.5Raven.Client.LightweightConvertersGuidConverter.cs:Raven.Client.Document.GenerateEntityIdOnTheClient.SetPropertyOrField(TypepropertyOrFieldType,Objectentity,Action`1setIdentifier,行51,C:BuildsRave中的字符串id)nDB-Stable-3.5Raven.Client.LightweightDocumentGenerateEntityIdOnTheClient.cs:第170行,位于C:BuildsRavenDB-Stable-3.5Raven.Client.LightweightDocumentGenerateEntityIdOnTheClient.cs中的Raven.Client.Document.GenerateEntityIdOnTheClient.TrySetIdentity(对象实体,字符串id):第143行在C:BuildsRavenDB-Stable-3.5Raven.Client.LightweightDocumentInMemoryDocumentSessionOperations.cs:line833中的Raven.Client.Document.InMemoryDocumentSessionOperations.d__99.MoveNext()---抛出异常的先前位置的堆栈跟踪结束---在System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(任务任务)在System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(任务任务)在Raven.Client.Document.InMemoryDocumentSessionOperations.d__96.MoveNext()在C:BuildsRavenDB-Stable-3.5Raven.Client.LightweightDocumentInMemoryDocumentSessionOperations.cs:line803有帮助吗?删除后store.Conventions.IdentityPartsSeparator=“-”;问题已解决请参阅上面HadiEskandari的评论以及此链接以获取更多信息:RavenDB.SagaPersister.Save中的异常,“Guid应包含32位数字,其中包含4个破折号”。在Raven中,Guid是空的。以上就是C#学习教程:Guid导致格式异常分享的全部内容。如果对大家有用,需要进一步了解C#学习教程,希望大家多多关注。本文来自网络收集,不代表作品如涉及侵权,请点击右边联系管理员删除。如需转载请注明出处:

最新推荐
猜你喜欢