Md Tak

Md Tak

  • NA
  • 15
  • 6.7k

CORS issue in .Net Framework 4.5 with Angular 6

May 28 2019 8:35 AM
I have created API in .Net Framework4.5 and It's working fine in Postman but When i implenting with Angular7 then we didn't get Requested Parameters like(Username and Pass) in API. 

I have already tried these steps:

I have already istalled this packege Microsoft.AspNet.WebApi.Cors

DemoController.cs

  1. using Newtonsoft.Json.Linq;  
  2. using System;  
  3. using System.Collections.Generic;  
  4. using System.Data;  
  5. using System.Linq;  
  6. using System.Net;  
  7. using System.Net.Http;  
  8. using System.Threading.Tasks;  
  9. using System.Web;  
  10. using System.Web.Http;  
  11. using System.Web.Http.Cors;  
  12. using System.Web.Http.Description;  
  13. using TestData.Models;  
  14.   
  15. namespace TestData.Controllers  
  16. {  
  17.   
  18.   
  19.     public class DemoController : ApiController  
  20.     {  
  21.         [HttpPost]  
  22.         [Route("api/Demo/Login")]  
  23.         public IHttpActionResult Login(HttpRequestMessage request)  
  24.         {  
  25.             string username = HttpContext.Current.Request.Form["Username"]; // getting Null  
  26.             string pass = HttpContext.Current.Request.Form["Pass"]; // getting Null  
  27.             return Ok('Username: ' +username + 'Password :' +pass);  
  28.         }  
  29.     }  
  30. }  
WebApiConfig.cs 
 
  1. using System;  
  2. using System.Collections.Generic;  
  3. using System.Linq;  
  4. using System.Web.Http;  
  5. using System.Web.Http.Cors;  
  6.   
  7. namespace TestData  
  8. {  
  9.     public static class WebApiConfig  
  10.     {  
  11.         public static void Register(HttpConfiguration config)  
  12.         {  
  13.             // Web API configuration and services  
  14.   
  15.             // Web API routes  
  16.             config.MapHttpAttributeRoutes();  
  17.   
  18.             config.Routes.MapHttpRoute(  
  19.                 name: "DefaultApi",  
  20.                 routeTemplate: "api/{controller}/{id}",  
  21.                 defaults: new { id = RouteParameter.Optional }  
  22.             );  
  23.             EnableCorsAttribute cors = new EnableCorsAttribute("*""*""*");  
  24.             config.EnableCors(cors);  
  25.         }  
  26.     }  
  27. }  

I am using some code of Angular

auth.service.ts

  1. import { Injectable } from '@angular/core';  
  2. import { HttpClient, HttpHeaders } from '@angular/common/http';  
  3.   
  4. @Injectable({  
  5.   providedIn: 'root'  
  6. })  
  7. export class AuthService {  
  8.   
  9.   apiUrl : any = 'http://mydomain/api';  
  10.   
  11.   constructor(private http : HttpClient) { }  
  12.   
  13.   GetHttpHeaders() : HttpHeaders{  
  14.     const headers = new HttpHeaders().set('Content-Type''application/json');  
  15.     return headers;  
  16.   }  
  17.   
  18.   loginUser(){  
  19.     var data = JSON.stringify({  
  20.       "Username" : '3333',  
  21.       "Pass" : '123456'  
  22.     })  
  23.     return this.http.post(this.apiUrl+'/Demo/Login', data, { headers : this.GetHttpHeaders() }).subscribe((results) => {  
  24.       console.log(results);  
  25.     });  
  26.   }  
  27. }  

Answers (8)