Skip to main content

Posts

Showing posts with the label C#

Configuring CORS in IIS - Response to preflight request doesn't pass access control check: It does not have HTTP ok status

The Access-Control-Allow-Origin Header Explained – With a CORS Example Often times when calling an API, you may see an error in your console that looks like this: Access to fetch at 'http://somesite.com' from origin 'http://yoursite.com' has been blocked by CORS policy: The 'Access-Control-Allow-Origin' header has a value that is not equal to the supplied origin Add following in <system.webServer> <httpProtocol> <customHeaders> <add name="Access-Control-Allow-Methods" value="*" /> <add name="Access-Control-Allow-Origin" value="*" /> <add name="Access-Control-Allow-Headers" value="*" /> </customHeaders> </system.webServer> After adding the above code in web.config, received the following error in response. .... Has been blocked by CORS policy: Response to preflight request doesn’t pass access control check:...

Pass multiple complex objects to Web API action

Working with ASP.NET Web API, the most unexpected thing is the limited support of POST data values to simple ApiController methods. When a parameter has [FromBody], Web API uses the Content-Type header to select a formatter. At most one parameter is allowed to read from the message body. The reason for this rule is that the request body might be stored in a non-buffered stream that can only be read once. A simple principle, you can send any content in HTTP request, it only need to be serializable into a string. So, it could be multiple JSON object. In this example, the content type is "application/json" and the request body is a raw JSON string (not a JSON object). Here I found a workaround to pass multiple complex objects (using the above principle) from jquery to a WEB API using JObject , and then cast back to your required specific object type in api controller. This objects provides a concrete type specifically designed for working with JSON. var customer = { ...

Convert a DataTable to HTML

The Following function will return a HTML formatted string for the given dataset. Some line are commented, you can remove comments if you need. CODE: DataTable dtPriceDetails = SOME DATA TABLE       if  (dt.Rows.Count > 0)   {   string  StringDataTable = ConvertToHtmlFile(dtPriceDetails);   }         public   static   string  ConvertToHtmlFile(DataTable targetTable)     {        string  myHtmlFile =  "" ;      if  (targetTable ==  null )         {            throw   new  System.ArgumentNullException( "targetTable" );   }          else     ...