我们有一组使用Azure 2开发的RestFul服务。这些服务将托管在WebApi上。我有一个IExceptionLogger的实现来记录所有未处理的异常。
可以在管道中注册记录器,如下所示
public static class WebApiConfig
{
public static void Register(HttpConfiguration config)
{
//Register the ExceptionLogger
config.Services.Add(typeof(IExcept
如果控制器的依赖解决方案失败,如何设置IIS中承载的Web 2 (version 5)项目以记录错误?我正在使用Autofac 2集成(版本3.1)进行DI。
在我的Global.asax.cs中,我有以下内容:
public class Global : HttpApplication {
protected void Application_Start() {
var resolver = new AutofacWebApiDependencyResolver(_container);
GlobalConfiguration.Configuratio
我有一个使用Autofac集成的WebApi2自带应用程序。最近,我花了一些时间解决中间件构造函数注入的问题,没有任何提示或任何有用的异常细节,并想知道我应该如何改进下面的代码,以便在所有情况下提供错误细节。我正在使用,但看起来它并不能处理所有的事情。考虑以下片段:
中间件:
public class ClientCertificateAuthenticationMiddleware : AuthenticationMiddleware<ClientCertificateAuthenticationOptions>
{
IClaimAuthorizationProvider
由于公司防火墙的原因,我无法调试我的机器人,所以我只能在Azure中部署和测试。
我一直收到默认的未处理异常消息,通常我不知道为什么,除非进行大量的试验和错误。
如何确保捕获所有异常,以便记录错误?
例如,这样可以很好地显示选项列表,但是在用户有机会选择和选项之前,它就不会显示任何痕迹。我在调用函数和ResumeAfter中都有捕获,它们都不会被调用:
PromptDialog.Choice<int>(
context,
OnSelectedPolicy,
options,
"Which policy do you want to claim
我有ELMAH工作的web应用程序端控制器,但我不能在Web API端记录异常。
我的设置:
WebApiConfig.cs:
public static void Register(HttpConfiguration config)
{
config.Services.Add(typeof(IExceptionLogger), new ElmahExceptionLogger());
// Web API routes
config.MapHttpAttributeRoutes();
config.Routes.MapHttpRoute(
我在本地主机上运行C# WebApi2项目,如果发生OData错误,我将收到以下格式的错误
https://localhost:44379/api/v2/events?$filter=1
{
"error": {
"code": "",
"message": "The $filter expression must evaluate to a single boolean value.",
"innererror": {
"message":
我在使用web api的autofac时遇到了问题。我有一个自定义的ExceptionFilterAttribute,它覆盖OnException来记录和处理任何可能发生的异常。ExceptionFilterAttribute应用于一个ApiController类。
过滤代码如下:
public class ExceptionFilterAttribute : ExceptionFilterAttribute, IAutofacExceptionFilter
{
private ILogger _logger;
public ExceptionFilterAttribute(
我尝试运行以下代码:
using System.Web.Http;
using System.Web.Mvc;
using Conduit.Mam.ClientSerivces.Dal.Configuration;
using MamInfrastructure.Common.Dal;
using MamInfrastructure.Common.Logger;
using MamInfrastructure.Logger;
using Microsoft.Practices.Unity;
using Unity.WebApi;
namespace Conduit.Mam.ClientSer
我在我的web项目中有一个全局异常处理程序。这很好,除非异常是通过lambda表达式引发的。我提供了以下示例代码:
[HttpGet]
public IHttpActionResult Test()
{
//Throw new Exception();// this exception is handled by my ExceptionHandler
var list = new List<int>();
list.Add(1);
IEnumerable<int> result = list.Select(a => GetData
我们在Azure上使用Owin作为一个REST服务,并且必须直接向Application报告。我们希望记录异常和请求。现在我们有一个:
using AppFunc = Func<IDictionary<string, object>, Task>;
public class InsightsReportMiddleware
{
readonly AppFunc next;
readonly TelemetryClient telemetryClient;
public InsightsReportMiddleware(AppFunc next