Fun with "The remote server returned an error: NotFound" - Silverlight4 Out of Browser

Posted by Scott Silvi on Stack Overflow See other posts from Stack Overflow or by Scott Silvi
Published on 2011-02-14T23:23:12Z Indexed on 2011/02/14 23:25 UTC
Read the original article Hit count: 300

Filed under:
|

Hey all -

I'm running SL4 on VS2010. I've got an app that authenticates via a web service to SPROC in my db. Unfortunately this is not WCF/WCF RIA, as I'm inheriting the DB/services from my client.

This works perfectly inside of a browser. I'm attempting to move this OOB, and it's at this point that my authentication fails. Here's the steps I took...

1) SL App Properties > Enable running app Out of Browser 2) SL App Properties > Out of Browser Settings > Require elevated trust when running OOB

If i set a breakpoint on my logon button click, I see the service call is being made. However, if I step through it (or set a breakpoint on the actual logon web service), the code never gets that far. Here's the block it fails on:

public LogonSVC.LogonResponse EndLogon(System.IAsyncResult result) {
            object[] _args = new object[0];
            LogonSVC.LogonResponse _result = ((LogonSVC.LogonResponse)(base.EndInvoke("Logon", _args, result)));
            return _result;
        }

I know using Elevated Trust means the crossdomain.xml isn't necessary. I dropped one in that allows everything, just to test, and that still fails.

here's the code that calls the service:

private void loginButton_Click(object sender, RoutedEventArgs e)
    {
        string Username = txtUserName.Text;
        string Password = txtPassword.Password;
        Uri iSilverlightServiceUriRelative = new Uri(App.Current.Host.Source, "../Services/Logon.asmx");
        EndpointAddress iSilverlightServiceEndpoint = new EndpointAddress(iSilverlightServiceUriRelative);
        BasicHttpBinding iSilverlightServiceBinding = new BasicHttpBinding(BasicHttpSecurityMode.Transport);// Transport if it's HTTPS://
        LogonService = new LogonSVC.LogonSoapClient(iSilverlightServiceBinding, iSilverlightServiceEndpoint);
        LogonService.LogonCompleted += new EventHandler<LogonSVC.LogonCompletedEventArgs>(LogonService_LogonCompleted);
        LogonService.LogonAsync(Username, Password);
    }

My LogonService_LogonCompleted doesn't fire either (which makes sense, just a heads up).

I don't know how to fiddler this, as this is running OOB with the site served via localhost/IIS. I know this works though in browser, so I'm curious what would break it OOB.

Thank you,

Scott

© Stack Overflow or respective owner

Related posts about Silverlight

Related posts about out-of-browser