本文整理汇总了C#中IResolver.TryResolve方法的典型用法代码示例。如果您正苦于以下问题:C# IResolver.TryResolve方法的具体用法?C# IResolver.TryResolve怎么用?C# IResolver.TryResolve使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类IResolver
的用法示例。
在下文中一共展示了IResolver.TryResolve方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: AsUserAuthRepository
public static IUserAuthRepository AsUserAuthRepository(this IAuthRepository authRepo, IResolver resolver = null)
{
if (resolver == null)
resolver = HostContext.AppHost;
var userAuthRepo = resolver.TryResolve<IUserAuthRepository>()
?? (authRepo as IUserAuthRepository);
if (userAuthRepo == null)
throw new ConfigurationErrorsException(
"Required dependency IAuthRepository or IUserAuthRepository could not be found.");
return userAuthRepo;
}
示例2: HandleException
/// <summary>
///
/// </summary>
/// <param name="iocResolver"></param>
/// <param name="request"></param>
/// <param name="ex"></param>
/// <returns></returns>
public static object HandleException(IResolver iocResolver, object request, Exception ex)
{
if (ex.InnerException != null && !(ex is IHttpError))
ex = ex.InnerException;
var responseStatus = ex.ToResponseStatus();
if (EndpointHost.DebugMode)
{
// View stack trace in tests and on the client
responseStatus.StackTrace = GetRequestErrorBody(request) + ex;
}
Log.Error("ServiceBase<TRequest>::Service Exception", ex);
if (iocResolver != null)
LogErrorInRedisIfExists(iocResolver.TryResolve<IRedisClientsManager>(), request.GetType().Name, responseStatus);
var errorResponse = CreateErrorResponse(request, ex, responseStatus);
return errorResponse;
}