本文整理汇总了C#中IUnityContainer.Teardown方法的典型用法代码示例。如果您正苦于以下问题:C# IUnityContainer.Teardown方法的具体用法?C# IUnityContainer.Teardown怎么用?C# IUnityContainer.Teardown使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类IUnityContainer
的用法示例。
在下文中一共展示了IUnityContainer.Teardown方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: EnablePushAuditAnalysis
private static void EnablePushAuditAnalysis(IUnityContainer container)
{
var isReceivePackRecoveryProcessEnabled = !string.IsNullOrEmpty(ConfigurationManager.AppSettings["RecoveryDataPath"]);
if (isReceivePackRecoveryProcessEnabled)
{
// git service execution durability registrations to enable receive-pack hook execution after failures
container.RegisterType<IGitService, DurableGitServiceResult>();
container.RegisterType<IHookReceivePack, ReceivePackRecovery>();
container.RegisterType<IRecoveryFilePathBuilder, AutoCreateMissingRecoveryDirectories>();
container.RegisterType<IRecoveryFilePathBuilder, OneFolderRecoveryFilePathBuilder>();
container.RegisterInstance(new NamedArguments.FailedPackWaitTimeBeforeExecution(TimeSpan.FromSeconds(5 * 60)));
container.RegisterInstance(new NamedArguments.ReceivePackRecoveryDirectory(
Path.IsPathRooted(ConfigurationManager.AppSettings["RecoveryDataPath"]) ?
ConfigurationManager.AppSettings["RecoveryDataPath"] :
HttpContext.Current.Server.MapPath(ConfigurationManager.AppSettings["RecoveryDataPath"])));
}
// base git service executor
container.RegisterType<IGitService, ReceivePackParser>();
container.RegisterType<GitServiceResultParser, GitServiceResultParser>();
// receive pack hooks
container.RegisterType<IHookReceivePack, AuditPusherToGitNotes>();
container.RegisterType<IHookReceivePack, NullReceivePackHook>();
// run receive-pack recovery if possible
if (isReceivePackRecoveryProcessEnabled)
{
var recoveryProcess = container.Resolve<ReceivePackRecovery>(
new ParameterOverride(
"failedPackWaitTimeBeforeExecution",
new NamedArguments.FailedPackWaitTimeBeforeExecution(TimeSpan.FromSeconds(0)))); // on start up set time to wait = 0 so that recovery for all waiting packs is attempted
try
{
recoveryProcess.RecoverAll();
}
catch
{
// don't let a failed recovery attempt stop start-up process
}
finally
{
if (recoveryProcess != null)
{
container.Teardown(recoveryProcess);
}
}
}
}