Category: Development

IActionResult Return Types and StatusCodes quick reference

I’m always forgetting which return types are available directly from ASP.Net controllers, so have created a quick listing here.

For general information on HTTP Status codes see
https://en.wikipedia.org/wiki/List_of_HTTP_status_codes

ASP.Net Core 2.2

All Status Codes:

https://docs.microsoft.com/en-gb/dotnet/api/microsoft.aspnetcore.http.statuscodes?view=aspnetcore-2.2

ControllerBase IActionResult Return Types

  • OK (200)
  • BadRequest (400)
  • Forbid (403)
  • LocalRedirect (302)
  • LocalRedirectPermanent (301)
  • LocalRedirectPermanentPreserve (308)
  • LocalRedirectPermanentPreserveMethod (307)
  • NoContent (204)
  • NotFound (404)
  • RedirectToAction (302)
  • RedirectToActionPermanent (301)
  • RedirectToActionPermanentPreserve (308)
  • RedirectToActionPermanentPreserveMethod (307)
  • RedirectToPage (302)
  • RedirectToPagePermanent (301)
  • RedirectToPagePermanentPreserve (308)
  • RedirectToPagePermanentPreserveMethod (307)
  • RedirectToPage (302)
  • RedirectToPagePermanent (301)
  • RedirectToPagePermanentPreserve (308)
  • RedirectToPagePermanentPreserveMethod (307)
  • StatusCode (set own status code)
    • Use 409 – Conflict, for updates that fail due to conflicts such as already exists etc..
  • Unauthorized (401)
  • UnprocessableEntity (422)
  • ValidationProblem (400)

ApiController MVC Compatibility Shim

https://docs.microsoft.com/en-us/dotnet/api/system.web.http.apicontroller?view=aspnetcore-2.2

  • OK (200)
  • BadRequest (400)
  • Conflict (409)
  • Created (201)
  • CreatedAtRoute (201)
  • InternalServerError (500)
  • NotFound (404)
  • Redirect (302)
  • RedirectToRoute (302)
  • StatusCode (set own status code)
    • Use 409 – Conflict, for updates that fail due to conflicts such as already exists etc..
  • Unauthorized (401)
  • UnprocessableEntity (422)
  • ValidationProblem (400)
‘*** Execution Timeout Expired’ with SqlPackage.exe on Azure DevOps Release Pipeline Fix

‘*** Execution Timeout Expired’ with SqlPackage.exe on Azure DevOps Release Pipeline Fix

A while ago I was having an issue deploying a SQL Data Tools project using the Azure DevOps pipelines. It worked fine when there was no data in the database, but once there was some data to preserve in the release the DACPAC deployment started to timeout with the following error when running SqlPackage.

Continue reading “‘*** Execution Timeout Expired’ with SqlPackage.exe on Azure DevOps Release Pipeline Fix”

Creating developer certificates and starting Angular 4 for SSL on Windows

If you’re a developer on Windows or a.Net developer getting to grips with Angular the steps outlined will create the various certificates and get local Angular 4 running under SSL.

The main steps are as follows and you will need to have installed makecert.exe and openSSL. For us Windows users the easiest way to get OpenSSL is to use one of the binaries installer listed here¬†https://wiki.openssl.org/index.php/Binaries Continue reading “Creating developer certificates and starting Angular 4 for SSL on Windows”

Azure Active Directory – How to give a Registered Application an AD Directory Administrative Role

By default a ‘Registered Application’ account is not a member of any¬†Directory Roles and/or group memberships and there is no easy way to make these changes using the portal. You may have an API or back-end application that will be required to perform actions on your AD that requires elevated permissions (e.g. Reset passwords or delete accounts etc..)

Normally for advanced configuration, you will need to start editing the manifest file. Luckily this has been made easy using the Portal. You can now edit the file directly, or download, make changes and then upload.

However, to make a ‘Registered Application’ a member of a ‘Directory Administrative Role’ you need to use PowerShell to add the role member to the ‘Service Principal’ (as I couldn’t find a way to do this in the manifest!).

Continue reading “Azure Active Directory – How to give a Registered Application an AD Directory Administrative Role”