Simple.Web 0.9 Release


Implement OWIN-compatible Startup and self-hosting support

Introduces support for OWIN-compatible web servers and MS Katana/OwinHost v2-rtm.

The above enables minimal bootstrapping for running Simple.Web with any OWIN-compatible server with specific support for Katana v2. Note Katana Project is currently only availble as a pre-release package.

Note: As Katana v2 is only available as RTM Simple.Web.Hosting.Self depends on a custom NuGet source; furthermore a custom build ensuring mono-compatibility. To use Simple.Web.Hosting.Self add to your available package sources.


IOutput<RawHTML> doesn’t work on Mono

IOutputBehaviours not being applied during scanning on Mono (tested against v3.2.1). Despite a Behaviour (e.g. IOutput<RawHtml>) being present Simple.Web would instead default to locating a media-type handler. This was due to an issue with Mono and method groups not being applied as expected.


Media Type resolution failing for wildcard matches

Pull-request addressing wildcard matches failing for custom media types. Thanks @tapmantwo!

Added status helper for 202 Accepted

Status helpers can optionally be used to return known http status codes. “202 Accepted” was added and RedirectLocation renamed to HeaderLocation (a potentially breaking change).

Improved type scanning

Improved scanning of exported types for indirect references that would otherwise throw a ReflectionTypeLoadException exception.

Fix SandBox.LoginPost redirect issue (empty ReturnUrl)

Issue reported with Sandbox project not redirecting as expected on login. Thanks @eddiegarmon!

Fixed web.config.transform

Reported that Simple.Web.AspNet did not transform the web.config correct upon nuget install.

Miscellaneous improvements for Katana compatibility

Changes to enable native support for Katana v1-beta, in particular handing of streams and headers.

Use Encoding.UTF8 instead of Encoding.Default

Change to use UTF8 encoding as default (opposed to Encoding.Default) to support Cyrillic text.

Ensure that Content-Type headers always have a charset section

Ensure that outgoing content-types have a charset declared (e.g. “; charset=utf8”).