in src/React.Web/AssemblyRegistration.cs [26:58]
public void Register(TinyIoCContainer container)
{
if (!IsInAspNet())
{
Trace.WriteLine(
"Warning: The current application references React.Web but is not an " +
"ASP.NET Web Application. Not running webapp IoC initialisation!"
);
return;
}
// Unique per request
container.Register<IFileSystem, AspNetFileSystem>().AsPerRequestSingleton();
container.Register<IBabelHandler, BabelHandler>().AsPerRequestSingleton();
// Mono for Mac OS does not properly handle caching
// TODO: Remove this once https://bugzilla.xamarin.com/show_bug.cgi?id=19071 is fixed
if (SystemEnvironmentUtils.IsRunningOnMac())
{
container.Register<ICache, NullCache>().AsSingleton();
}
else
{
container.Register<ICache, AspNetCache>().AsPerRequestSingleton();
}
// Wrappers for built-in objects
container.Register<HttpContextBase>((c, o) => new HttpContextWrapper(HttpContext.Current));
container.Register<HttpServerUtilityBase>((c, o) => c.Resolve<HttpContextBase>().Server);
container.Register<HttpRequestBase>((c, o) => c.Resolve<HttpContextBase>().Request);
container.Register<HttpResponseBase>((c, o) => c.Resolve<HttpContextBase>().Response);
container.Register<Cache>((c, o) => HttpRuntime.Cache);
}