c# - Guid is causing a format exception -
i'm trying set ravendb 3.5 , nservicebus 6. after senter saga have set in nservicebus endpoint, enter handler. once handler finished, error:
system.formatexception: guid should contain 32 digits 4 dashes (xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx).
my code:
public static class autofacconfig { public static icontainer configureautofac() { var builder = new containerbuilder(); var resourcemanagerid = new guid("6c9abcbb-c7ca-4a67-a149-5142f633f535"); var dtcrecoverybasepath = environment.getfolderpath(environment.specialfolder.commonapplicationdata); var recoverypath = path.combine(dtcrecoverybasepath, "nservicebus.ravendb", resourcemanagerid.tostring()); builder.register(x => { var store = new documentstore { connectionstringname = "ravendb", resourcemanagerid = resourcemanagerid, transactionrecoverystorage = new localdirectorytransactionrecoverystorage(recoverypath) }; store.defaultdatabase = "mydb"; store.initialize(); store.conventions.identitypartsseparator = "-"; return store; }) .as<idocumentstore>() .singleinstance(); builder.register<ifilesstore>(x => { var filestore = new filesstore() { url = "http://localhost:40000", defaultfilesystem = "myfs", }.initialize(); return filestore; }).singleinstance(); return builder.build(); } } in saga:
protected override void configurehowtofindsaga(sagapropertymapper<filetoordersagadata> mapper) { mapper.configuremapping<startfiletoordersagacommand>(m => m.dataid) .tosaga(s => s.dataid); } public async task handle(startfiletoordersagacommand message, imessagehandlercontext context) { // validation validatexmlcommand data.dataid = message.dataid; await context.send<validatexmlcommand>( x => { x.filename = message.filename; x.customerid = message.customerid; }); } here's stack trace:
at system.guid.tryparseguidwithnostyle(string guidstring, guidresult& result) @ system.guid.tryparseguid(string g, guidstyles flags, guidresult& result) @ system.guid..ctor(string g) @ raven.client.converters.guidconverter.convertto(string value) in c:\builds\ravendb-stable-3.5\raven.client.lightweight\converters\guidconverter.cs:line 51 @ raven.client.document.generateentityidontheclient.setpropertyorfield(type propertyorfieldtype, object entity, action`1 setidentifier, string id) in c:\builds\ravendb-stable-3.5\raven.client.lightweight\document\generateentityidontheclient.cs:line 170 @ raven.client.document.generateentityidontheclient.trysetidentity(object entity, string id) in c:\builds\ravendb-stable-3.5\raven.client.lightweight\document\generateentityidontheclient.cs:line 143 @ raven.client.document.inmemorydocumentsessionoperations.<generatedocumentkeyforstorageasync>d__99.movenext() in c:\builds\ravendb-stable-3.5\raven.client.lightweight\document\inmemorydocumentsessionoperations.cs:line 833 --- end of stack trace previous location exception thrown --- @ system.runtime.compilerservices.taskawaiter.throwfornonsuccess(task task) @ system.runtime.compilerservices.taskawaiter.handlenonsuccessanddebuggernotification(task task) @ raven.client.document.inmemorydocumentsessionoperations.<storeasyncinternal>d__96.movenext() in c:\builds\ravendb-stable-3.5\raven.client.lightweight\document\inmemorydocumentsessionoperations.cs:line 803 any guys?
after removing
store.conventions.identitypartsseparator = "-"; the issue fixed. see hadieskandari's comment above , link more info: exception in ravendb.sagapersister.save, "guid should contain 32 digits 4 dashes". guid empty in raven
Comments
Post a Comment