Skip to content
This repository was archived by the owner on Jan 24, 2021. It is now read-only.

Implementing a View Engine

thecodejunkie edited this page Jun 19, 2011 · 8 revisions

This page will contain implementation advice for view engines

  • Name the engine xxxViewEngine, where xxx is the name of the parser, such as Razor, Spark and so on
  • The only public methods on a view engine should be those of the IViewEngine interface
  • View engines are singletons, do not store state in them
  • If you add dependencies to your engine, add a default ctor with default configuration
  • Make use of the view cache on the render context that is passed into the IViewEngine.RenderView method - but make sure that the item you cache does not contain state that could end up being reused between multiple requests
  • The initialize method is called when the view engine is created and all views that the engine can render will be passed in, along with the view cache
Clone this wiki locally