Skip to main content

Posts

Showing posts from May, 2020

.Net Core Session Management

The Session helps to store user data in the application memory. Since the user data stores on the application it quick and fast to access. .Net Core Session data stored application using the cache, this cache can be either In-Memory or Distributed Cache.  Session Work-flow: On the user request the application from the browser, the server will create a session with an id called Session-Id.  This Session-Id will be given to the user in response by storing it in the cookie. So on every next request, this cookie will reach to the application which contains Session-Id.  An application uses the SessionId as the main key and stores all user data in the application cache. So by receiving a cookie from a client with Session-Id application will fetch the session stored data as per request.  This cookie session is browser-specific it is not sharable between browsers.  We can set session time out in our application, where after the time session data will get automatically cleared. Create A Sample

NestJS API Integration With GraphQL Using Code First Approach

What Is GraphQL?: GraphQL is a query language for your API and a server-side runtime for executing queries by using a schema type system you defined for your data. GraphQL is not tied to any specific programming language(like NestJS, Java, .NET, etc) or database or storage engine. How GraphQL Different From Rest API: GraphQL exposes a single endpoint. Http-Post is the only Http verb recommended by supported by GraphQL API. Client applications(consumers of GraphQL API) can give instructions to GraphQL API about the response data. Code First vs Schema Approach: Code First Approach: In Code First Approach we use Typescript class to which need to apply GraphQL decorator on top of classes and also on top of properties inside of the class. These decorators help to auto-generate the raw GraphQL Schema. So in Code First Approach we no need to learn or concentrate to write the GraphQL Schema. Schema First Approach: GraphQL SDL(schema definition language) is a new syntactic query type language,

.NET Core MVC Application File Upload To Physical Location With Streaming Technique(Useful For Large Files) - Part 2

In  Part 1 we have explored how to upload large files to a server using Streaming Technique. A complete .Net Core sample application has been developed from scratch to understand the file upload. Also discussed on custom model binding manually from the raw form data as well as triggering model validation. I recommend understanding  Part 1 is essential before jumping here.  AJAX Call To File Upload(MVC or Web API): Let's develop an action method that displays a form with a file upload field. Controller/AjaxFileUploadController.cs: using Microsoft.AspNetCore.Mvc; namespace StreamFileUpload.App.Controllers { [Route("ajax-file-upload")] public class AjaxFileUplaodController : Controller { [Route("add-file")] public IActionResult AddFile() { return View(); } } } Let's develop the form that posts the data using the AJAX call. Views/AjaxFileUpload/AddFile.cshtml: <div> <form action="

.NET Core MVC Application File Upload To Physical Location With Streaming Technique(Useful For Large Files) - Part 1

Streaming Technique In File Upload: Streaming Technique is useful in uploading the larger files. Uploading file is achieved as a multipart request where the files are processed directly by the application. In Streaming Technique file uploading can not be done with Model Binding(but in buffered technique, files uploading can be done with Model Binding by using IFormFile type). So the file is accessed directly from the request object(as multipart request) and processed. Since Model Binding will not work here every filed from the form that is like text fields, file uploading fields, etc are received as 'form-data' format in the multipart request. Streaming helps in scaling the application. Streaming doesn't demand memory or disk space(but in buffered technique, file upload highly depends on the RAM, which doesn't work for large file uploading). Note: Click here for file uploading using buffer technique Create A Sample MVC Application: Let's understand