Don't know why but it seems that your EPiServer application hasn't been started when this error occurs. The virtual path "/secure/CMS/Admin" should be handled by EPiServer, instead .Net is looking for the file (in the wrong location).
I've found what caused the issue, but don't know why.
When removing the line the errors stops. The client is not using Commernce at the moment.
<add name="EcfCatalogHandler" verb="*" path="*.aspx" preCondition="integratedMode" type="Mediachase.Commerce.Website.Handlers.StaticCatalogUriHandler, Mediachase.Commerce.Website" />
Ah... you have a handler that handles calls to .aspx-files. When you're in edit/admin you don't have the friendly URLs. You call .aspx-files directly i.e .../cms/admin/default.aspx. This module intercepts these calls and seems to make a call to the file system which doesn't work.
Where in web.config do you register this module? Is it in <location path="<your ui>"> or <location path="<your ui/admin>">? If so try registering the module in /configuration/system.webServer/handlers instead.
Hi Hendrik,
I agree, it makes sense because the handler uses this for product lookup in Commerce. It is however in the correct default place in the web.config (configuration/system.webServer/handlers). I'll check with EPiServer support as well.
Hi,
When the application pool recycles and I re-refresh a page while in edit/admin mode I get the following error:
System.Web.HttpException: Exception of type 'System.Web.HttpException' was thrown. ---> System.IO.DirectoryNotFoundException: Could not find a part of the path 'D:\Projects\MyProject.Web\secure\CMS\Admin\Default.aspx'. at System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath) at System.IO.FileStream.Init(String path, FileMode mode, FileAccess access, Int32 rights, Boolean useRights, FileShare share, Int32 bufferSize, FileOptions options, SECURITY_ATTRIBUTES secAttrs, String msgPath, Boolean bFromProxy) at System.IO.FileStream..ctor(String path, FileMode mode, FileAccess access, FileShare share, Int32 bufferSize, FileOptions options, String msgPath, Boolean bFromProxy) at System.IO.FileStream..ctor(String path, FileMode mode, FileAccess access, FileShare share) at System.Web.Hosting.MapPathBasedVirtualFile.Open() at System.Web.UI.TemplateParser.ParseFile(String physicalPath, VirtualPath virtualPath) at System.Web.UI.TemplateParser.ParseInternal() at System.Web.UI.TemplateParser.Parse() at System.Web.Compilation.BaseTemplateBuildProvider.get_CodeCompilerType() at System.Web.Compilation.BuildProvider.GetCompilerTypeFromBuildProvider(BuildProvider buildProvider) at System.Web.Compilation.BuildProvidersCompiler.ProcessBuildProviders() at System.Web.Compilation.BuildProvidersCompiler.PerformBuild() at System.Web.Compilation.BuildManager.CompileWebFile(VirtualPath virtualPath) at System.Web.Compilation.BuildManager.GetVPathBuildResultInternal(VirtualPath virtualPath, Boolean noBuild, Boolean allowCrossApp, Boolean allowBuildInPrecompile) at System.Web.Compilation.BuildManager.GetVPathBuildResultWithNoAssert(HttpContext context, VirtualPath virtualPath, Boolean noBuild, Boolean allowCrossApp, Boolean allowBuildInPrecompile) at System.Web.Compilation.BuildManager.GetVirtualPathObjectFactory(VirtualPath virtualPath, HttpContext context, Boolean allowCrossApp, Boolean noAssert) at System.Web.Compilation.BuildManager.CreateInstanceFromVirtualPath(VirtualPath virtualPath, Type requiredBaseType, HttpContext context, Boolean allowCrossApp, Boolean noAssert) at System.Web.UI.PageHandlerFactory.GetHandlerHelper(HttpContext context, String requestType, VirtualPath virtualPath, String physicalPath) at System.Web.HttpApplication.MaterializeHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() --- End of inner exception stack trace --- at System.Web.HttpApplication.MaterializeHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() at System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously)
Refreshing the page clears the error till the next time the application pool recycles. \secure\CMS\ is the secret path to the EPiServer UI.
This only happens in edit or admin mode. Anyone came accross this before or know where to look?
Kind regards,
Danie