TracNav
OpenRasta's Documentation...
- Release Notes
- FAQs
Downloading/Building OpenRasta...
- Download from source
- Download the binaries
- Run the test suite
- .NET versions support
Using OpenRasta...
- Configuration how-tos
What you need to know about dependency injection...
- Using Castle as the IoC container
- Using Ninject as the IoC container
Tutorials...
- Building your first OpenRasta website
- Creating views with no code-behind
- Writing handlers
- Using model binders?
- Implementing a Codec
- Extending OpenRasta with a Contributor
WebForms...
- Using multiple views for a resource
- Linking a URI to a static WebForm
Deployment...
- Installing OpenRasta on IIS
- Files required for production deployment?
Building web-sites with OpenRasta...
- Supporting clients that only know GET and POST
Reference...
Hosting...
- Root dependencies?
- Available dependencies
Configuration...
- ResourceSpace.Has
- ResourceSpace.Uses
Modules...
- SharpView
Pipeline...
- Pipeline contributors
- Well-known contributors
- PipelineContinuation members
Resources...
- Linking to resources
Handlers...
- Handler method selection
- Defined OperationResults
Binding...
- Object binders
- The default resource binder?
- ChangeSet<T> support?
Codecs...
- The Webforms Codec
- The XmlSerializer codec
- The JsonDataContract codec
- The XmlDataContract codec
Building Codecs...
- Building a media type reader
- Building a media type writer
- MediaType attribute
- Implementing configuration for ICodec
- Supporting binders and ChangeSet<> in a codec?
Hosting OpenRasta
This only applies to the trunk / beta 2 branches
OpenRasta's initialization process relies on a host environment. Such a host, implementing the IHost interface, needs to be registered.
Initialization flow
- Host registration through HostManager.RegisterHost(IHost host)
- Host raises the Start event
- The host manager queries the host's ResolverAccessor property.
- If the property is null, the host manager initializes the default dependency manager
- If the property is not null, the host manager uses the dependency manager provided by the host
- The host manager registers the dependency resolver in itself for the components that rely on controlling their dependencies' lifetime
- The host manager lets the host register the root dependencies by calling the ConfigureRootDependencies method.
- The host manager ensures that the minimal dependencies have been registered correctly (see Host root dependencies?)
- The host manager intializes the IDependencyRegistrar instance registered in the dependency manager, or the DefaultDependencyRegistrar if none was found.
- The host manager lets the host register the leaf dependencies by calling the ConfigureLeafDependencies method.
- The host manager marks the configuration as complete.
Notifying of a new request
When the host detects a new incoming request, it must raise its IncomingRequest event with a new instance of an ICommunicationContext type. The host manager will be responsible for including the context, request and response objects in the container.

