I have the need to display PDF documents inside a silverlight application. I implimented a xamWEbHtmlviewer and set the SourceUri to an pdhHandler.ashx. the handler gets a PDF document stored in the session state from a previous web service call (dont ask why... thats how our web client architechure is and i have to re-use this for now).
when the xamwebhtmlviewer gets its sourceuri set it does not look like it uses the same IIS session when it calls the handler, thus does not find the pdf. Would you expect the xamwebhtmlviewer to call the web server with the same IIS session that the rest of the silverlight application is using?
i should clerify the IIS session is set up through a web service call that has
AspNetCompatibilityRequirements.Allowed attributed on the WCF service handler...
In this case all the XamHtmlViewer is doing is creating an iFrame pointing to the SourceUri. The iFrame is located in a <DIV> element and then overlaid on top of the Silverlight ActiveX control embedded in the page. If you check the host page DOM you will see this iFrame.
Because thats all thats happening, I'm not sure if the control is whats causing the problem. I do have a couple of ideas/suggestions that you can try to check:
- Do you have the aspNetCompatibilityEnabled attribute set to True in your config file?
- If the first service call you make originates from the Silverlight application, I am not sure if that is the same session context as the browser session the iFrame is using when it calls your URL. You might be able to use an HTTP Sniffer like fiddler to see if the HTTP request header includes the same session cookie ID.
Hope that helps at least point you in the right direction.
Devin