在我的代码中似乎Elmah和Nlog没有记录我的所有Web API错误。以下是所有C#Web API开发人员都知道的示例:
[Authorize]
public class ValuesController : ApiController
{
// GET api/values
public IEnumerable<string> Get()
{
return new string[] { "value1", "value2" };
}
// GET api/values/5
public string Get(int id)
{
return "value";
}
// POST api/values
public void Post([FromBody]string value)
{
}
// PUT api/values/5
public void Put(int id, [FromBody]string value)
{
}
// DELETE api/values/5
public void Delete(int id)
{
}
}
当我访问浏览器并获取http://localhost:55328/api/Values/5时 我收到此消息:
<Error>
<Message>Authorization has been denied for this request.</Message>
</Error>
很好但是当我去http://localhost:55328/elmah.axd时 Elmah不记录此错误。我也不知道如何用NLog强制日志。是的,当错误发生在方法体内时,Elmah和NLog正常工作。