locked
LightSwitch desktop app shows white screen RRS feed

  • Question

  • My LightSwitch desktop (out-of-browser) application has been successfully published to Windows Azure. When I run the application see the Silverlight circles, I do get the install button and it installs fine, but when I run the locally installed application I get Loading... and then just a blank white screen. In Azure I cannot change any IIS settings that are discussed in some other forum threads.

    It did work a few weeks ago, but now it doesn't. I thought it had something to do with the recent azure/lightswitch publish issue, but now that has been resolved this problem still exists.

    I use VS 2012, v11.0.5072.


    Thanks, Edgar Walther


    Friday, November 23, 2012 8:32 PM

Answers

  • Found it after all. WCF service calls failed with a TypeLoadException, see stacktrace below. (enabled the serviceDebug WCF behavior to see error details on the client when doing an HTTP GET to a .svc file).

    After removing the DevExpress.XtraReports extension the error went away and the app is working fine now in both web and desktop deployed scenarios.

    Looks like the issue is related to this DevExpress forum post.

    Thanks for all the help,
    - Koen


    WCF stacktrace

    The server encountered an error processing the request. The exception message is 'Unable to load one or more of the requested types. Retrieve the LoaderExceptions property for more information.'. See server logs for more details. The exception stack trace is:
    
    at System.Reflection.RuntimeModule.GetTypes(RuntimeModule module) at System.Reflection.RuntimeModule.GetTypes() 
    at System.Reflection.Assembly.GetTypes() 
    at Microsoft.LightSwitch.RuntimeLoader.RuntimeExtensionSubsystemLoader.ComposeWeb(String[] extensionAssemblies) 
    at Microsoft.LightSwitch.RuntimeLoader.RuntimeExtensionSubsystemLoader.Load() 
    at Microsoft.LightSwitch.BaseServices.Subsystem.Implementation.SubsystemService.Load(IEnumerable`1 loaders) 
    at Microsoft.LightSwitch.BaseServices.Subsystem.Implementation.SubsystemService.Load(String catalogName, IEnumerable`1 packageNames) 
    at Microsoft.LightSwitch.WebHosting.Internal.WebHostBootstrapper.LoadComponents() 
    at Microsoft.LightSwitch.WebHosting.Internal.WebHostBootstrapper.Initialize() 
    at Microsoft.LightSwitch.ServerGenerated.Implementation.DataService`1..ctor() 
    at CreateMicrosoft.LightSwitch.Security.ServerGenerated.Implementation.SecurityDataDataService() 
    at System.ServiceModel.Dispatcher.InstanceProvider.GetInstance(InstanceContext instanceContext, Message message) 
    at System.ServiceModel.Dispatcher.InstanceBehavior.GetInstance(InstanceContext instanceContext, Message request) 
    at System.ServiceModel.InstanceContext.GetServiceInstance(Message message) 
    at System.ServiceModel.Dispatcher.InstanceBehavior.EnsureServiceInstance(MessageRpc& rpc) 
    at System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage41(MessageRpc& rpc) 
    at System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage4(MessageRpc& rpc) 
    at System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage31(MessageRpc& rpc) 
    at System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage3(MessageRpc& rpc) 
    at System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage2(MessageRpc& rpc) 
    at System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage11(MessageRpc& rpc) 
    at System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage1(MessageRpc& rpc) 
    at System.ServiceModel.Dispatcher.MessageRpc.Process(Boolean isOperationContextSet)






    Monday, December 3, 2012 11:14 PM

All replies

  • The settings you are referring to are also settable by changing your web.config file prior to publishing.  Try changing them and republishing your app.

    Please refer to the following blog post:

    http://blogs.msdn.com/b/lightswitch/archive/2011/09/20/diagnosing-problems-in-a-deployed-lightswitch-application-eric-erhardt.aspx

    In particular, check out the section with the heading: "Before you publish your app, change the settings in your Web.config." and the paragraph with the text "To do this, you can modify your Web.config to add the “customErrors” section it says to add and then re-publish your application."


    David Kidder | Senior SDET | Microsoft | LightSwitch

    Monday, November 26, 2012 3:35 AM
    Moderator
  • Thanks for your suggestions, but it did not help. I did not see any log file.

    I still have just a white screen when the app has started.

    Any other suggestions are very welcome.

     


    Thanks, Edgar Walther

    Tuesday, November 27, 2012 9:47 PM
  • Can you try publishing your application as a 2-tier desktop deployment (Desktop Client Type + Local Server (not IIS or Azure)? Then try launching the application from your dev box and from another machine. Most times issues with published apps are unrelated to Azure and are easier to debug as 2-tier desktop deployments.


    David Kidder | Senior SDET | Microsoft | LightSwitch

    Wednesday, November 28, 2012 2:30 PM
    Moderator
  • Hi,

    I've been debugging this particular issue with Edgar. The problem does seem to be related to Azure. After publishing the LightSwitch desktop app to Azure, the GetAuthenticationInfo call returns an HTTP 200 OK response with the following WCF content (extracted using a WCF Binary inspector in Fiddler);

    <Fault xmlns="http://schemas.microsoft.com/ws/2005/05/envelope/none">
     <Code>
      <Value>Sender</Value>
     </Code>
     <Reason>
      <Text xml:lang="en-US">
      </Text>
     </Reason>
     <Detail>
      <DomainServiceFault xmlns="DomainServices" xmlns:i="http://www.w3.org/2001/XMLSchema-instance">
       <ErrorCode>500</ErrorCode>
       <ErrorMessage i:nil="true">
       </ErrorMessage>
       <IsDomainException>false</IsDomainException>
      </DomainServiceFault>
     </Detail>
    </Fault>
    
    

    Upon this error the OOB app renders a white screen. When deployed as web app, the same HTTP 200 OK response is returned and the application shows the following error dialog;

    It's clear from the HTTP response an error occurs, but there are no error details. The LightSwitch app works fine when published to a local IIS7 instance for both web and desktop apps.

    I'm running out of options, any suggestions highly appreciated.

    Thanks,
    - Koen

    Monday, December 3, 2012 10:17 PM
  • Found it after all. WCF service calls failed with a TypeLoadException, see stacktrace below. (enabled the serviceDebug WCF behavior to see error details on the client when doing an HTTP GET to a .svc file).

    After removing the DevExpress.XtraReports extension the error went away and the app is working fine now in both web and desktop deployed scenarios.

    Looks like the issue is related to this DevExpress forum post.

    Thanks for all the help,
    - Koen


    WCF stacktrace

    The server encountered an error processing the request. The exception message is 'Unable to load one or more of the requested types. Retrieve the LoaderExceptions property for more information.'. See server logs for more details. The exception stack trace is:
    
    at System.Reflection.RuntimeModule.GetTypes(RuntimeModule module) at System.Reflection.RuntimeModule.GetTypes() 
    at System.Reflection.Assembly.GetTypes() 
    at Microsoft.LightSwitch.RuntimeLoader.RuntimeExtensionSubsystemLoader.ComposeWeb(String[] extensionAssemblies) 
    at Microsoft.LightSwitch.RuntimeLoader.RuntimeExtensionSubsystemLoader.Load() 
    at Microsoft.LightSwitch.BaseServices.Subsystem.Implementation.SubsystemService.Load(IEnumerable`1 loaders) 
    at Microsoft.LightSwitch.BaseServices.Subsystem.Implementation.SubsystemService.Load(String catalogName, IEnumerable`1 packageNames) 
    at Microsoft.LightSwitch.WebHosting.Internal.WebHostBootstrapper.LoadComponents() 
    at Microsoft.LightSwitch.WebHosting.Internal.WebHostBootstrapper.Initialize() 
    at Microsoft.LightSwitch.ServerGenerated.Implementation.DataService`1..ctor() 
    at CreateMicrosoft.LightSwitch.Security.ServerGenerated.Implementation.SecurityDataDataService() 
    at System.ServiceModel.Dispatcher.InstanceProvider.GetInstance(InstanceContext instanceContext, Message message) 
    at System.ServiceModel.Dispatcher.InstanceBehavior.GetInstance(InstanceContext instanceContext, Message request) 
    at System.ServiceModel.InstanceContext.GetServiceInstance(Message message) 
    at System.ServiceModel.Dispatcher.InstanceBehavior.EnsureServiceInstance(MessageRpc& rpc) 
    at System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage41(MessageRpc& rpc) 
    at System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage4(MessageRpc& rpc) 
    at System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage31(MessageRpc& rpc) 
    at System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage3(MessageRpc& rpc) 
    at System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage2(MessageRpc& rpc) 
    at System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage11(MessageRpc& rpc) 
    at System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage1(MessageRpc& rpc) 
    at System.ServiceModel.Dispatcher.MessageRpc.Process(Boolean isOperationContextSet)






    Monday, December 3, 2012 11:14 PM