Computer >> कंप्यूटर >  >> प्रोग्रामिंग >> C#

हम C# ASP.NET WebAPI में लॉगिंग उद्देश्यों के लिए लॉग फ़िल्टर कैसे बना सकते हैं?

क्रिया विधियों के निष्पादन से पहले या बाद में अतिरिक्त तर्क जोड़ने के लिए क्रिया फ़िल्टर का उपयोग किया जाता है। कार्रवाई विधि निष्पादित होने से पहले और बाद में हमारे तर्क को जोड़ने के लिए OnActionExecuting और OnActionExecuted विधियों का उपयोग किया जाता है।

आइए हम एक LogAttribute बनाते हैं जो ActionFilterAttribute को लागू करता है जो क्रिया विधि निष्पादन से पहले और बाद में कुछ जानकारी लॉग करता है।

लॉगएट्रिब्यूट -

उदाहरण

using System;
using System.Diagnostics;
using System.Web.Http.Controllers;
using System.Web.Http.Filters;
namespace DemoWebApplication.Controllers{
   public class LogAttribute : ActionFilterAttribute {
      public override void OnActionExecuting(HttpActionContext actionContext){
         Debug.WriteLine(string.Format("Action Method {0} executing at {1}",
            actionContext.ActionDescriptor.ActionName, DateTime.Now.ToShortDateString()),
            "Web API Logs");
      }
      public override void OnActionExecuted(HttpActionExecutedContext
      actionExecutedContext){
         Debug.WriteLine(string.Format("Action Method {0} executed at {1}",
         actionExecutedContext.ActionContext.ActionDescriptor.ActionName,
         DateTime.Now.ToShortDateString()), "Web API Logs");
      }
   }
}

नियंत्रक कार्रवाई -

उदाहरण

using System.Web.Http;
namespace DemoWebApplication.Controllers{
   public class DemoController : ApiController{
      [Log]
      public IHttpActionResult Get(){
         //Some logic
         return Ok();
      }
   }
}

चूँकि हमने लॉग विशेषता का उपयोग किया है जिसमें OnActionExecuting औरOnActionExecuted विधियाँ लागू हैं, लॉग जानकारी को डीबग कंसोल में जोड़ा जाएगा।

हम C# ASP.NET WebAPI में लॉगिंग उद्देश्यों के लिए लॉग फ़िल्टर कैसे बना सकते हैं?



  1. C# ASP.NET WebAPI में विभिन्न प्रकार के फ़िल्टर क्या हैं?

    वेबएपी फ्रेमवर्क अनुरोध प्रसंस्करण के विभिन्न स्तरों पर अतिरिक्त तर्क को इंजेक्ट करने के लिए फिल्टर का उपयोग किया जाता है। फ़िल्टर क्रॉस-कटिंग चिंताओं (लॉगिंग, प्राधिकरण और कैशिंग) के लिए एक रास्ता प्रदान करते हैं। एक घोषणात्मक या प्रोग्रामेटिक तरीके से एक क्रिया विधि या नियंत्रक पर फ़िल्टर लागू किए

  1. सी # एएसपी.नेट वेबएपीआई में किसी क्रिया विधि से कस्टम परिणाम प्रकार कैसे वापस करें?

    हम IHttpActionResult इंटरफ़ेस . को लागू करके परिणाम प्रकार के रूप में अपना स्वयं का कस्टम वर्ग बना सकते हैं . IHttpActionResult में एक ही विधि है, ExecuteAsync, जो अतुल्यकालिक रूप से एक HttpResponseMessage उदाहरण बनाता है। public interface IHttpActionResult {    Task<HttpResponseMessag

  1. C# ASP.NET WebAPI में कंट्रोलर एक्शन के विभिन्न रिटर्न प्रकार क्या हैं?

    वेब एपीआई क्रिया विधि में निम्नलिखित रिटर्न प्रकार हो सकते हैं। शून्य आदिम प्रकार/जटिल प्रकार HttpResponseMessage IHttpActionResult शून्य - यह आवश्यक नहीं है कि सभी क्रिया विधियों को कुछ वापस करना होगा। इसमें शून्य वापसी प्रकार हो सकता है। उदाहरण using DemoWebApplication.Models using