Peter,
I've narrowed down this behavior and I believe it may be something that would have to be patched inside DMX itself. NOTE: We are still on the 6.1.4 version.
We saw the error reported in this thread "the relative virtual path is not allowed here" and I have a theory on approximately where it might be occurring. Perhaps you could help me run to the end of this theory.
We saw these errors in the error log like everyone else. I noticed that they occurred while testing one specific scenario.
Of all the documents we link from DMX we found some would fail to stream to the browser when requested. Many common types like PDF and Word would generally opened fine.
Here is a sample link for something we might open:
http://our.intranet.com/D...wnload&EntryId=14273 When I tested with PowerPoint (.PPTX) documents you might get ONE opportunity to "Open or Save" though I'd then be trapped in a state where the documents NEVER loaded properly. It was as though once a cache had been created, the environment became toxic. The browser window would choke up and display the general "This page cannot be displayed." after hanging for a bit. It was during this failure that the EventLog would show what appears to be an attempt to get a RESX file path using the DNN core library calls. See below...
System.Exception: The following resource file caused an error while reading: ---> System.ArgumentException: The relative virtual path 'sharedresources.portal-0.resx' is not allowed here.
at System.Web.VirtualPath.FailIfRelativePath()
at System.Web.Hosting.HostingEnvironment.MapPathActual(VirtualPath virtualPath, Boolean permitNull)
at System.Web.Hosting.HostingEnvironment.MapPathInternal(VirtualPath virtualPath)
at System.Web.Hosting.HostingEnvironment.MapPath(VirtualPath virtualPath)
at DotNetNuke.Services.Localization.LocalizationProvider.GetResourceFileCallBack(CacheItemArgs cacheItemArgs)
--- End of inner exception stack trace ---
at DotNetNuke.Services.Localization.LocalizationProvider.GetResourceFileCallBack(CacheItemArgs cacheItemArgs)
at DotNetNuke.Common.Utilities.DataCache.GetCachedDataFromDictionary(CacheItemArgs cacheItemArgs, CacheItemExpiredCallback cacheItemExpired)
I believe that the call being made to get the path for the 'sharedresources.portal-0.resx' would occur during these attempts to stream these documents to the browser. Either a failure of HTTP Context to be present or some kind of invalid argument (i.e. The relative virtual path being passed in) might be to blame.
Clearing browser cache resets the environment for another attempt. This is obviously not an acceptable workaround.
What are your thoughts?