V 1.4.12.0 Pro - VirtualPathProvider in Precompiled Site

Topics: BugNET Pro
May 11, 2014 at 2:22 PM
Can't get the Reports link to work. Error page says resource cannot be found.
The virtual site is running on IIS 8.5.9600.
App Pool is .NET CLR Version 4.0, Integrated.

The page error says resource cannot be found and shows:
Version Information: Microsoft .NET Framework Version:2.0.50727.8000; ASP.NET Version:2.0.50727.8001

SQL Reporting Services Log shows:
++++++++++++++++
ui!ReportManager_0-2!120c!05/11/2014-09:02:30:: i INFO: Unhandled exception: System.Web.HttpException: The file '/Reports/ReportList.aspx' does not exist.
at System.Web.UI.Util.CheckVirtualFileExists(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.MapHttpHandler(HttpContext context, String requestType, VirtualPath path, String pathTranslated, Boolean useAppConfig)
at System.Web.HttpApplication.MapHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute()
at System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously)
+++++++++++++

Ideas?
Coordinator
May 12, 2014 at 3:20 PM
Does the file /Reports/ReportList.aspx exist?
May 12, 2014 at 4:53 PM
Yes sir. To rule out a SQL permissions issue, I placed a blank aspx form in the directory. Navigating directly to the blank form throws the same error which led me to the conclusion the issue is related to the virtual path. Oddly, all of the other links in the banner, which have the same navigation code, work just fine.
Coordinator
May 12, 2014 at 5:13 PM
ynyng wrote:
Yes sir. To rule out a SQL permissions issue, I placed a blank aspx form in the directory. Navigating directly to the blank form throws the same error which led me to the conclusion the issue is related to the virtual path. Oddly, all of the other links in the banner, which have the same navigation code, work just fine.
are you nesting the application within another?
May 12, 2014 at 5:19 PM
Edited May 12, 2014 at 5:29 PM
No. All of the code and subdirectories are alone in the wwwroot directory. No outside webconfig files.

I configured the virtual directory using both the full physical path and then I tried %SystemDrive%\inetpub\wwwroot. Same error.
Coordinator
May 12, 2014 at 5:32 PM
how about the web.config, is there any extra configuration in there that isn't in the web.config in the download package?

I believe this issue is IIS related to configuration.
May 12, 2014 at 5:35 PM
I copied the blank form I created to the other directories and it loads just fine. The only directory within which it will not load is Reports.
May 12, 2014 at 5:38 PM
Edited May 12, 2014 at 5:39 PM
The only changes I made to web.config were to include the ChartImageHandler app.

I used IIS Manager to update the SQL connection string.
Coordinator
May 12, 2014 at 5:46 PM
ynyng wrote:
The only changes I made to web.config were to include the ChartImageHandler app.

I used IIS Manager to update the SQL connection string.
If you type the full url does it work ? http://serverurl/Reports/ReportList.aspx
Developer
May 12, 2014 at 6:02 PM
Is there a chance that SQL Server Reporting service is installed on the server as well?

It might cause a conflict if wired into IIS
May 12, 2014 at 6:05 PM
No. Neither does the test page, but the test page fires fine in any other directory. Also, a copy of ReportList.aspx fires if copied to any other directory (with exceptions, of course, but at least it fires).
May 12, 2014 at 6:21 PM
wrhighfield wrote:
Is there a chance that SQL Server Reporting service is installed on the server as well?

It might cause a conflict if wired into IIS
SQL 2014 is running on same server as IIS 8. How do I check for conflict?
May 13, 2014 at 1:29 AM
ynyng wrote:
wrhighfield wrote:
Is there a chance that SQL Server Reporting service is installed on the server as well?

It might cause a conflict if wired into IIS
SQL 2014 is running on same server as IIS 8. How do I check for conflict?
It does seem the BugNet virtual directory conflicts with the SSRS internal URL. I suspect therein lies the issue.
May 14, 2014 at 2:36 PM
The issue indeed was a conflict with the default virtual directories installed with the SQL Reporting Service which employs the HTTP.SYS repository. ASP.NET requires that application identities be unique within the same process, so SSRS virtual directories must have unique names that do not conflict with virtual directories created in IIS. "Reports" is used by SSRS and, likewise, is a virtual directory within BugNet. Workarounds include varying the port, host name, or virtual directory name to create a unique URL. SSRS virtual directories can be modified using SQL Server 2014 Reporting Services Configuration Manager. In my test environment, I simply changed the default port for the BugNet project.
Marked as answer by dubeaud on 5/14/2014 at 10:15 AM