本文整理汇总了C#中ServiceCollection.ErrorService方法的典型用法代码示例。如果您正苦于以下问题:C# ServiceCollection.ErrorService方法的具体用法?C# ServiceCollection.ErrorService怎么用?C# ServiceCollection.ErrorService使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类ServiceCollection
的用法示例。
在下文中一共展示了ServiceCollection.ErrorService方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: ServiceCollectionErrorService
public void ServiceCollectionErrorService()
{
ServiceCollection services = new ServiceCollection();
services.WithService("Test", "/");
services
.ErrorService((ex) => true)
.ErrorService((ex, req, res) => true)
.ErrorService<string>((ex, req, res) => true);
Assert.AreEqual(3, services.First().Pipeline.ErrorActions.Count);
}
示例2: ResolvedServiceInvokeErrorActions
public void ResolvedServiceInvokeErrorActions()
{
Payload payload = new Payload()
{
Date = DateTime.UtcNow,
Number = 42,
Text = "Hello, world!"
};
ServiceCollection services = new ServiceCollection();
services
.WithService("Test", "/")
.WithEndpoint("{action}")
.Post<Payload>((Payload p) => { });
ResolvedService service = new ServiceResolver(services).Find(MethodType.Post, "foo");
IDictionary<string, object> routeValues = new Dictionary<string, object>();
routeValues["action"] = "foo";
using (IRequestMessage request = new RequestMessage<Payload>("Test", routeValues, new Uri("http://example.com/foo"), payload))
{
using (IResponseMessage response = new ResponseMessage())
{
InvokeActionsResult result = service.InvokeErrorActions(request, response, new Exception[0]);
Assert.IsNotNull(result);
Assert.IsTrue(result.Continue);
Assert.IsTrue(result.Success);
Assert.IsFalse(result.Results.Any());
services.ErrorService<Payload>(
(ex, req, resp) =>
{
Assert.AreEqual(payload, req.RequestObject);
return true;
});
service = new ServiceResolver(services).Find(MethodType.Post, "foo");
result = service.InvokeErrorActions(request, response, new Exception[0]);
Assert.IsTrue(result.Continue);
Assert.IsTrue(result.Success);
Assert.AreEqual(1, result.Results.Count);
services.ErrorService(ex => true);
service = new ServiceResolver(services).Find(MethodType.Post, "foo");
result = service.InvokeErrorActions(request, response, new Exception[0]);
Assert.IsTrue(result.Continue);
Assert.IsTrue(result.Success);
Assert.AreEqual(2, result.Results.Count);
}
}
}