Skip to main content

Make .Net Web API queue requests operate 'single threaded'

Brief

When working with a multithreading application it is very important for developers to handle multiple threads for a critical section of code.

Monitor and lock is the way to provide thread safety in a multithreaded application in C#. Both provide a mechanism to ensure that only one thread is executing code at the same time to avoid any functional breaking of code.

Example 

Lock for only one request to be processed at a time.

private static object s_SyncRoot = new object();

...
new Task(() =>
{
  lock (s_SyncRoot)
  {
    // process payment - single thread
  }
}).Start();
return "ok";

Links

  1. StackOverflow
  2. Monitor And Lock In C#

Comments

Popular posts from this blog

All the require docs of job seekers (java docs, testing docs, study materials, genuine consultancy link)

# JUST_FOR  JAVA LOVERS : CORE & ADVANCED JAVA Notes ! Core Java and Advanced Java Notes! . Link 1 :-  https://www.dropbox.com/s/t…/1--%20Core%20Java%28TOC%29.pdf… Link 2 :-  https://www.dropbox.com/s/0ahi8r…/9--%20Advanced%20Java.pdf… _________________________________ 1.  https://drive.google.com/…/0BxJrew1xg5ZLZjdabnVUUkswalk/view 2. https://drive.google.com/…/0BxJrew1xg5ZLVHVSQ0tiU1VmVXM/view 3. https://drive.google.com/…/0BxJrew1xg5ZLdS1JUTAxMWtTcEU/view 4. https://drive.google.com/…/0BxJrew1xg5ZLY1M5bGp2Ym5lZUk/view 5. https://drive.google.com/…/0BxJrew1xg5ZLck13Rndpd1ZlcEU/view 6.  https://drive.google.com/…/0BxJrew1xg5ZLb2xodlhOTEVzLTA/view --------------------- Spring --------------------- https://drive.google.com/…/0BxJrew1xg5ZLQ3VaQnlja3N1Mkk/view https://drive.google.com/…/0BxJrew1xg5ZLTXNVLUdOR0xmTzQ/view https://drive.google.com/…/0BxJrew1xg5ZLWU9PUmVKUUYtMjQ/view ---------------------- Hibernate ---------------------...

npm install on windows 7 python2 not found error and node-sass@3.13.1 error #317

Before I write all, I'd like to say that before the update everything worked well; while updating node from version 7.2.1 to version 9.4.0 and npm from version 5.5.1 to version 5.6.0 in Windows 7 (64-bit) using the installer (https://nodejs.org/en/download/) and installing globally gulp-cli version 2.0.0, as far as npm install starts from the JointsWP folder I get the following error: $ npm install npm WARN deprecated babel-preset-es2015@6.24.1: รฐ  Thanks for using Babel: we recommend using babel-preset-env now: please read babeljs.io/env to update! npm WARN deprecated gulp-util@3.0.8: gulp-util is deprecated - replace it, following the guidelines at https://medium.com/gulpjs/gulp-util-ca3b1f9f9ac5 npm WARN deprecated minimatch@2.0.10: Please update to minimatch 3.0.2 or higher to avoid a RegExp DoS issue > uws@0.14.5 install C:\Users\Bob\Dropbox\Development\vhosts\mongoose-project\vanilla\themes\JointsWP\node_modules\uws > node-gyp rebuild > build_log.txt 2>...

Fluent API EntityFramework 6 C#

Brief We will develop simple Database Call (SQL Server) using EntityFramework using the Fluent API. We will have below things for the DB Cal. Student Class StudentMap Class PracticeContext Class DataBaseCall Class Proram Class app.config (In web development, we have web.config) Student Class: namespace DotnetConsole {   public class Student   {     public int ID { get; set; }     public string Name { get; set; }   } } StudentMap Class This class is required since fluent api is creating table from the configuration. public class StudentMap: EntityTypeConfiguration<Student>   {     public StudentMap()     {       this.ToTable("Student");       this.Property(s => s.ID).HasDatabaseGeneratedOption(System.ComponentModel.DataAnnotations.Schema.DatabaseGeneratedOption.Identity);       this.Proper...