예제 #1
0
        protected override void ShutdownServer(RunFrame frame)
        {
            var serverInitiator = frame.GetState(KeyServerInitiator) as KatanaSelfHostServerInitiator;

            if (serverInitiator != null)
            {
                serverInitiator.Dispose();
                frame.SetState(KeyServerInitiator, null);
            }

            var sandbox = frame.GetState(KeySandbox) as AppDomain;

            if (sandbox != null)
            {
                AppDomain.Unload(sandbox);
                frame.SetState(KeySandbox, null);
            }

            var securedServer = frame.GetState(KeyIsSecuredServer) ?? false;

            if ((bool)securedServer)
            {
                var port = frame.GetState(KeyReservedPort) as string;
                TeardownSecureEnvironment(port);
                frame.SetState(KeyIsSecuredServer, null);
            }
        }
예제 #2
0
        protected override void ShutdownServer(RunFrame frame)
        {
            var context = frame.GetState(KeyWebHostContext) as WebHostContext;

            if (context != null)
            {
                try
                {
                    context.HostOptions.Stop();
                }
                finally
                {
                    ConfigurationTearDown(context);
                    context.HostOptions.Dispose();
                }
            }
            frame.SetState(KeyBaseAddresss, null);
        }
예제 #3
0
        /// <summary>
        /// Assign base address uri to the property marked by <paramref name="NuwaBaseAddressAttribute"/>
        /// assuming that there are not more than 1 property is marked by the attribute
        /// </summary>
        protected void SetBaseAddress(object testClass, RunFrame frame)
        {
            var baseAddress   = frame.GetState(KeyBaseAddresss) as string;
            var testClassType = testClass.GetType();

            /// TODO: 1. check the number of marked property in test class command
            /// TODO: 2. to complain of the property type is not correct
            var baseAddressPrpt = testClassType.GetProperties()
                                  .Where(prop => { return(prop.GetCustomAttributes(typeof(NuwaBaseAddressAttribute), false).Length == 1); })
                                  .FirstOrDefault();

            if (baseAddressPrpt != null && NuwaBaseAddressAttribute.Verify(baseAddressPrpt))
            {
                baseAddressPrpt.SetValue(testClass, baseAddress, null);
            }
            else
            {
                // TODO: warning
            }
        }
예제 #4
0
        /// <summary>
        /// Assign base address uri to the property marked by <paramref name="NuwaBaseAddressAttribute"/>
        /// assuming that there are not more than 1 property is marked by the attribute
        /// </summary>
        protected void SetBaseAddress(object testClass, RunFrame frame)
        {
            var baseAddress = frame.GetState(KeyBaseAddresss) as string;
            var testClassType = testClass.GetType();

            /// TODO: 1. check the number of marked property in test class command
            /// TODO: 2. to complain of the property type is not correct
            var baseAddressPrpt = testClassType.GetProperties()
                .Where(prop => { return prop.GetCustomAttributes(typeof(NuwaBaseAddressAttribute), false).Length == 1; })
                .FirstOrDefault();

            if (baseAddressPrpt != null && NuwaBaseAddressAttribute.Verify(baseAddressPrpt))
            {
                baseAddressPrpt.SetValue(testClass, baseAddress, null);
            }
            else
            {
                // TODO: warning
            }
        }
예제 #5
0
 protected override void ShutdownServer(RunFrame frame)
 {
     var context = frame.GetState(KeyWebHostContext) as WebHostContext;
     if (context != null)
     {
         try
         {
             context.HostOptions.Stop();
         }
         finally
         {
             ConfigurationTearDown(context);
             context.HostOptions.Dispose();
         }
     }
     frame.SetState(KeyBaseAddresss, null);
 }
예제 #6
0
        protected override void ShutdownServer(RunFrame frame)
        {
            var serverInitiator = frame.GetState(KeyServerInitiator) as KatanaSelfHostServerInitiator;
            if (serverInitiator != null)
            {
                serverInitiator.Dispose();
                frame.SetState(KeyServerInitiator, null);
            }

            var sandbox = frame.GetState(KeySandbox) as AppDomain;
            if (sandbox != null)
            {
                AppDomain.Unload(sandbox);
                frame.SetState(KeySandbox, null);
            }

            var securedServer = frame.GetState(KeyIsSecuredServer) ?? false;
            if ((bool)securedServer)
            {
                var port = frame.GetState(KeyReservedPort) as string;
                TeardownSecureEnvironment(port);
                frame.SetState(KeyIsSecuredServer, null);
            }
        }