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

C# ASP.NET WebAPI में लॉगिंग के लिए लॉग फिल्टर कैसे बनाएं?

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

LogAttribute का निर्माण

आइए एक 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()
        {
            // कुछ लॉजिक
            return Ok();
        }
    }
}

चूंकि हमने Log एट्रिब्यूट का उपयोग किया है जिसमें OnActionExecuting और OnActionExecuted मेथड्स इम्प्लीमेंटेड हैं, लॉग जानकारी डिबग कंसोल में जुड़ जाएगी।

C# ASP.NET WebAPI में लॉगिंग के लिए लॉग फिल्टर कैसे बनाएं?

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

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

  1. C# ASP.NET WebAPI में एक्शन मेथड से कस्टम रिजल्ट टाइप कैसे लौटाएं? C# ASP.NET WebAPI में एक्शन मेथड से कस्टम रिजल्ट टाइप कैसे लौटाएं?

    हम IHttpActionResult इंटरफ़ेस को इम्प्लीमेंट करके अपनी खुद की कस्टम क्लास को रिजल्ट टाइप के रूप में बना सकते हैं। IHttpActionResult में एक सिंगल मेथड, ExecuteAsync होता है, जो एसिंक्रोनसली एक HttpResponseMessage इंस्टेंस बनाता है। public interface IHttpActionResult { Task ExecuteAsync(Cancellat

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

    Web API एक्शन मेथड के निम्नलिखित रिटर्न टाइप्स हो सकते हैं। Void Primitive Type/Complex Type HttpResponseMessage IHttpActionResult 1. Void यह आवश्यक नहीं है कि सभी एक्शन मेथड्स कुछ न कुछ लौटाएं। इनका रिटर्न टाइप void हो सकता है। उदाहरण using DemoWebApplication.Models; using Syst