tugberkugurlu / WebAPIDoodle

(NOT MAINTAINED, SEE README) WebAPIDoodle is an ASP.NET Web API library which contains several useful Extensions, Filters, Message Handlers and so on and so forth.
MIT License
37 stars 9 forks source link

Future directions for WebAPIDoodle #4

Open tugberkugurlu opened 11 years ago

tugberkugurlu commented 11 years ago

With the current version of WebAPIDoodle, the assemblies don't sit right. For example, WebAPIDoodle.dll has a reference on System.Web which is stupidly wrong. So, in the next drop, there will be aggressive changes to the way the project structures.

Package Structure

The aim of WebAPIDoodle is provide new stuff for ASP.NET Web API and System.Net.Http. So, the projects will be structured accordingly. As ASP.NET Web API is also host-agnostic, there will be a few host specific packages.

The below is the list of packages:

  1. WebApiDoodle.Net.Http
  2. WebApiDoodle.Net.Http.Formatting
  3. WebApiDoodle.Net.Http.Client
  4. WebApiDoodle.Net.Http.Client.Model
  5. WebApiDoodle.Net.Http.Client.Validation
  6. WebApiDoodle.Web
  7. WebApiDoodle.Web.WebHostEx
  8. WebApiDoodle.Web.SelfHostEx
  9. WebApiDoodle.Web.Hosting.WebHost45

    WebApiDoodle.Net.Http

This package will hold the message handlers, new HttpContent implementations, etc. for System.Net.Http. This will depends on the following packages and will be developed .NET 4.0 and higher.

This package will hold the formatters which can be used purely with System.Net.Http. This will depends on the following packages and will be developed .NET 4.0 and higher.

This package will hold the useful extensions and new implementations which can be useful while building .NET wrappers around our HTTP API with System.Net.Http.HttpClient. This will depends on the following packages and will be developed .NET 4.0 and higher.

This package will hold the fundamentals for Model assembly which can be both used directly by the server and the client. This package will depend on no other packages.

WebApiDoodle.Net.Http.Client.Validation

To be advised later...

WebApiDoodle.Web

This package will hold the real extensibility points for ASP.NET Web API such as message handlers, filters, formatters, parameter bindings, action selectors, controller implementations, etc. This will depends on the following packages and will be developed .NET 4.0 and higher.

This package may also depend other internal packages according to directions that we are going to head towards.

WebApiDoodle.Web.WebHostEx

This package will carry the ASP.NET Host specific extensibility for ASP.NET Web API. This will depends on the following packages and will be developed .NET 4.0 and higher.

This package may also depend other internal packages according to directions that we are going to head towards.

WebApiDoodle.Web.SelfHostEx

This package will carry the Self-host specific extensibility for ASP.NET Web API. This will depends on the following packages and will be developed .NET 4.0 and higher.

This package may also depend other internal packages according to directions that we are going to head towards.

WebApiDoodle.Web.Hosting.WebHost45

This package will hold the ASP.NET 4.5 host implementation for ASP.NET Web API to be able to use some new capabilities of ASP.NET 4.5 such as out of the box provided cancellation tokens, etc. This will depends on the following packages and will be developed .NET 4.0 and higher.

This package may also depend other internal packages according to directions that we are going to head towards.

In General

Entire project will depend on following packages:

ghstahl commented 10 years ago

What is your plan for MVC5. The current issue I have is that System.Web.Http is being referenced out of and MVC4 folder and that has moved to the Microsoft WebAPI 5 distribution. I havent rebuilt webApiDoodle against MVC5 yet to see if just doing a reference fix would move it up.

tugberkugurlu commented 10 years ago

@ghstahl

I pushed compatible version of WebApiDoodle for Web API version 5.0.0 to NuGet. You can get it installing it with -pre switch: http://www.nuget.org/packages/WebAPIDoodle/3.0.0-pre01