当前位置: 首页>>代码示例>>C#>>正文


C# IEngineContext.GetService方法代码示例

本文整理汇总了C#中IEngineContext.GetService方法的典型用法代码示例。如果您正苦于以下问题:C# IEngineContext.GetService方法的具体用法?C# IEngineContext.GetService怎么用?C# IEngineContext.GetService使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在IEngineContext的用法示例。


在下文中一共展示了IEngineContext.GetService方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。

示例1: SetContext

		/// <summary>
		/// Sets the context.
		/// </summary>
		/// <param name="context">The context.</param>
		public override void SetContext(IEngineContext context)
		{
			base.SetContext(context);

			urlBuilder = (IUrlBuilder) context.GetService(typeof(IUrlBuilder));
			currentUrl = context.UrlInfo;
		}
开发者ID:ralescano,项目名称:castle,代码行数:11,代码来源:UrlHelper.cs

示例2: Process

		/// <summary>
		/// Implementors should perform the action
		/// on the exception. Note that the exception
		/// is available in <see cref="IEngineContext.LastException"/>
		/// </summary>
		/// <param name="context"></param>
		public override void Process(IEngineContext context)
		{
			IEmailSender emailSender = (IEmailSender) context.GetService(typeof(IEmailSender));

			String message = BuildStandardMessage(context);

			try
			{
				emailSender.Send(mailFrom, mailTo,
				                 "MonoRail Exception: " + context.LastException.GetType().Name, message);
			}
			catch(Exception)
			{
				// We ignore errors during send
			}

			InvokeNext(context);
		}
开发者ID:candland,项目名称:Castle.MonoRail,代码行数:24,代码来源:EmailHandler.cs

示例3: Process

		/// <summary>
		/// Implementors should perform the action
		/// on the exception. Note that the exception
		/// is available in <see cref="IEngineContext.LastException"/>
		/// </summary>
		/// <param name="context"></param>
		public override void Process(IEngineContext context)
		{
			ILoggerFactory factory = (ILoggerFactory) context.GetService(typeof(ILoggerFactory));

			if (factory == null)
			{
				// No factory configured, but we can throw exception
				return;
			}

			if (context.CurrentController != null)
			{
				ILogger logger = factory.Create(context.CurrentController.GetType());

				logger.Error(BuildStandardMessage(context));
			}

			InvokeNext(context);
		}
开发者ID:candland,项目名称:Castle.MonoRail,代码行数:25,代码来源:LoggingExceptionHandler.cs

示例4: Init

        public void Init()
        {
            mocks = new MockRepository();
            factory = new SparkViewFactory();
            engineContext = mocks.CreateMock<IEngineContext>();
            server = new MockServerUtility();
            request = mocks.CreateMock<IRequest>();
            response = mocks.CreateMock<IResponse>();

            controller = mocks.CreateMock<IController>();
            controllerContext = mocks.CreateMock<IControllerContext>();
            routingEngine = mocks.CreateMock<IRoutingEngine>();
            output = new StringWriter();
            helpers = new HelperDictionary();

            propertyBag = new Dictionary<string, object>();
            flash = new Flash();
            session = new Dictionary<string, object>();
            requestParams = new NameValueCollection();
            contextItems = new Dictionary<string, object>();


            SetupResult.For(engineContext.Server).Return(server);
            SetupResult.For(engineContext.Request).Return(request);
            SetupResult.For(engineContext.Response).Return(response);
            SetupResult.For(engineContext.CurrentController).Return(controller);
            SetupResult.For(engineContext.CurrentControllerContext).Return(controllerContext);
            SetupResult.For(engineContext.Flash).Return(flash);
            SetupResult.For(engineContext.Session).Return(session);
            SetupResult.For(engineContext.Items).Return(contextItems);

            SetupResult.For(request.Params).Return(requestParams);

            SetupResult.For(controllerContext.LayoutNames).Return(new[] { "default" });
            SetupResult.For(controllerContext.Helpers).Return(helpers);
            SetupResult.For(controllerContext.PropertyBag).Return(propertyBag);

            SetupResult.For(routingEngine.IsEmpty).Return(true);

            var urlBuilder = new DefaultUrlBuilder(server, routingEngine);

            var serviceProvider = mocks.CreateMock<IServiceProvider>();
            var viewSourceLoader = new FileAssemblyViewSourceLoader("Views");
            SetupResult.For(serviceProvider.GetService(typeof(IViewSourceLoader))).Return(viewSourceLoader);
            SetupResult.For(serviceProvider.GetService(typeof(ILoggerFactory))).Return(new NullLogFactory());
            SetupResult.For(serviceProvider.GetService(typeof(ISparkViewEngine))).Return(null);
            SetupResult.For(serviceProvider.GetService(typeof(IUrlBuilder))).Return(urlBuilder);
            SetupResult.For(serviceProvider.GetService(typeof(IViewComponentFactory))).Return(null);
            mocks.Replay(serviceProvider);

            SetupResult.For(engineContext.GetService(null)).IgnoreArguments().Do(
                new Func<Type, object>(serviceProvider.GetService));

            factory.Service(serviceProvider);


            manager = new DefaultViewEngineManager();
            manager.RegisterEngineForExtesionLookup(factory);
            manager.RegisterEngineForView(factory);
        }
开发者ID:mgagne-atman,项目名称:Projects,代码行数:60,代码来源:SparkViewFactoryTests.cs


注:本文中的IEngineContext.GetService方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。