private static IContext CreateContext(string contextName) { ContextFactory factory = new ContextFactory(); var contextSetup = factory.Create(contextName, null); contextSetup.EnablePayloadDefinitionHash(); List <IPayloadComponentId> payloadIds = new List <IPayloadComponentId>(); Assembly currentAssembly = Assembly.GetAssembly(typeof(TestPayload)); var payloads = ContextUtilities.FindPayloadComponents(currentAssembly); foreach (var payload in payloads) { var id = contextSetup.RegisterPayloadComponent(payload); payloadIds.Add(id); } IContext context = contextSetup.EndSetup(); var hash = contextSetup.GetPayloadDefinitionHash(); StringBuilder hashString = new StringBuilder(64); foreach (byte hashByte in hash) { hashString.Append(hashByte.ToString("x2")); } Console.WriteLine("Hash: {0}", hashString.ToString()); TestPayload.SetId(context.FindPayloadId(nameof(TestPayload))); return(context); }
private IContext CreateMessageContext() { ContextFactory factory = new ContextFactory(); var contextSetup = factory.Create(contextName, null); contextSetup.EnablePayloadDefinitionHash(); List <IPayloadComponentId> payloadIds = new List <IPayloadComponentId>(); Assembly currentAssembly = Assembly.GetAssembly(typeof(TestPayload)); var payloads = ContextUtilities.FindPayloadComponents(currentAssembly); foreach (var payload in payloads) { var id = contextSetup.RegisterPayloadComponent(payload); payloadIds.Add(id); } IContext context = contextSetup.EndSetup(); // TODO Validate that this context hash matches the other frontend context. return(context); }