OWIN - techniq/wiki GitHub Wiki

WebApi with OWIN on System.Web

  • Create new ASP.NET 4.5.x empty project called *.App

    • In Visual Studio 2012, use the ASP.NET Empty Web Application project type
    • In Visual Studio 2013 / 2015: Create Visual C# > Web > ASP.NET Web Application project, then select the Empty template.
  • Setup OWIN

    • Add NuGet packages

      • Microsoft.AspNet.WebApi.Owin
      • Microsoft.Owin.Host.SystemWeb
      • Microsoft.Owin.StaticFiles
      • Microsoft.Owin.Diagnostics
      • Microsoft.Owin.Cors
    • Setup Dependency injection

      • Install NuGet packages:
        • Autofac.WebApi2.Owin
      • Update Startup.cs
    • Setup Entity Framework / OData

      • Install NuGet packages:
        • Microsoft.AspNet.OData
        • EntityFramework
    • Copy files from another project

      • Middleware/NoCacheMiddleware.cs
      • Middleware/Html5ServerMiddleware.cs
      • Startup.cs
    • Copy Base OData Controllers

      • Controllers/OData/BaseODataController.cs
      • Controllers/OData/BaseEntityController.cs
  • Create new class library project call *.Data

    • Setup Entity Framework
      • Install NuGet packages:
        • EntityFramework
    • Copy files
      • *Context.cs
      • Models/BaseEntity.cs
    • Add project reference from *.App to *.Data
  • Update Web.config in *.App project

    • Add connection string to *.App's Web.config
    <connectionStrings>
      <add name="<NAME>" providerName="System.Data.SqlClient" connectionString="Server=<SERVER>;Database=<DATABASE>;User Id=<USER_ID>;Password=<PASSWORD>;MultipleActiveResultSets=True" />
    </connectionStrings>
    • Add <modules runAllManagedModulesForAllRequests="true" /> under <system.webServer>
  • Setup Node/NPM

    • Install NuGet packages (*.App):
      • Npm (includes Node and NoGit)
      • Update Npm from 0.12 to 5.x+
    • npm init -y
  • Setup create-react-app

    • npm install -g create-react-app
    • cd *.App project root
    • ..\packages\Node.js.5.3.0\create-react-app app, the move contents up from app to *.App root (using . with create-react-app shows an error)
⚠️ **GitHub.com Fallback** ⚠️