I'm going to try to explain my issue.
As part of our learning management system, a security feature is that on login, we create a virtual directory which then in turn holds virtual directories which map to our content, thus only allowing individuals access to content that is calculated within the business logic.
Our content is scorm compliant which is in essence a piece of learning content that contains everything it needs to run. This is in the form of html pages. So therefore to run the content I must use an iframe.
The problem i am running into is that the iframe loads ok to start with but when I send it a new link via ajax, I get a web.config error pointing at my custom role provider;
Event code: 3008
Event message: A configuration error has occurred.
Event time: 7/18/2011 3:17:31 PM
Event time (UTC): 7/18/2011 2:17:31 PM
Event ID: 2c1fa37e609746ff8ec3a9e305a2769b
Event sequence: 3
Event occurrence: 1
Event detail code: 0
Application information:
Application domain: /LM/W3SVC/2/ROOT/vCont-10-129554722508037456
Trust level: Full
Application Virtual Path: /vCont
Application Path: ..\learninglounge.com.solar.restricted\
Machine name: NAVSERVER
Process information:
Process ID: 6808
Process name: w3wp.exe
Account name: NT AUTHORITY\NETWORK SERVICE
Exception information:
Exception type: System.Configuration.ConfigurationErrorsException
Exception message: Could not load type 'learninglounge.com.solar.datastore.loungeRoles'. (..\web.config line 53)
Inner exception information (level 1):
Exception type: System.Web.HttpException
Exception message: Could not load type 'learninglounge.com.solar.datastore.loungeRoles'. Request information:
Request URL: http://navserver/vCont/fc7b7a04-df84-40df-8d31-b3a4d526763a/2063654718-My-first-scor开发者_如何学Cm/shared/launchpage.html?content=playing
Request path: /vCont/fc7b7a04-df84-40df-8d31-b3a4d526763a/2063654718-My-first-scorm/shared/launchpage.html
User host address: fe80::e51d:5910:556e:aac4%10
User: Is authenticated: False
Authentication Type:
Thread account name:Admin
Thread information:
Thread ID: 8
Thread account name: Admin
Is impersonating: True
Stack trace: at System.Web.Security.Roles.Initialize() at System.Web.Security.RoleManagerModule.OnEnter(Object source, EventArgs eventArgs) at System.Web.HttpApplication.SyncEventExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() at System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously)
The vCont part of the requested URL is a virtual application which i use to store all the virtual directories in my app. I can see in iis that the v-dirs are created correctly and there is a path to the content.
I know it has something to do with the virtual directories because if I create a folder within my app and hardcode the path it works as it should.
As a virtual directory needs a physical path I mapped it to a folder called drive:..\learninglounge.com.solar.restricted. Where as all the content is stored in drive:..\learninglounge.com.content. I have even tried to set the physical path of my vCont to this directory with the same issue.
Can anyone please help me?
The answer I found is to do with iis7 integrated pipeline.
I changed the vCont top level virtual application to classic pipeline mode and it works fine.
精彩评论