Ejemplo n.º 1
0
        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);
        }
Ejemplo n.º 2
0
        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);
        }