Exemple #1
0
        /// <summary>
        /// Attempt to get a specific configuration from the request url
        /// </summary>
        /// <param name="url"></param>
        /// <returns></returns>
        internal static EmbeddedResourceItem GetEmbeddedResourceItem(string url)
        {
            url = EmbeddedResourceService.EnsureUrlAppRelative(url);

            if (url != null)
            {
                return(EmbeddedResourceService.GetEmbeddedResourceItems().SingleOrDefault(x => x.ResourceUrl == url));
            }

            return(null);
        }
        /// <summary>
        /// The main startup method
        /// </summary>
        private void Startup()
        {
            foreach (var embeddedResourceItem in EmbeddedResourceService.GetEmbeddedResourceItems())
            {
                // register with mvc
                RouteTable
                .Routes
                .MapRoute(
                    name: "EmbeddedResource" + Guid.NewGuid().ToString(),
                    url: embeddedResourceItem.ResourceUrl.TrimStart("~/"),     // forward slash always expected
                    defaults: new
                {
                    controller = "EmbeddedResource",
                    action     = "GetEmbeddedResource",
                    url        = embeddedResourceItem.ResourceUrl
                },
                    namespaces: new[] { "Our.Umbraco.EmbeddedResource" });

                // register with client depenedency
                FileWriters.AddWriterForFile(embeddedResourceItem.ResourceUrl.TrimStart('~'), new EmbeddedResourceVirtualFileWriter());
            }
        }