本文整理汇总了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;
}
示例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);
}
示例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);
}
示例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);
}