2010-10-12 24 views
11

Ho creato una piccola applicazione Silverlight 4.0/RIA Services e l'ho provata. Ho sviluppato l'app su una macchina a casa e avevo bisogno di trasferirla nel dominio di produzione al lavoro. L'ho fatto inserendolo nel repository di origine e poi clonandolo su una macchina di sviluppo al lavoro. Costruisce senza errori in entrambe le posizioni.Il file URI fornito 'file' non è valido previsto 'http'

Il problema si verifica quando si tenta di eseguire il debug nella nuova posizione. Al primo metodo 'Load()' sul contesto di dominio ottengo il seguente errore:

The provided URI scheme 'file' is invalid expected 'http' 

ottengo che il debugger sta tentando di eseguire con il file URI base piuttosto che un HTTP URI. Ma perché? E come lo aggiusto?

La ricerca tramite SO ha restituito alcuni errori simili relativi agli schemi URI non validi, ma non mi hanno aiutato con questo specifico problema.

grazie, Jim

risposta

27

Assicurarsi che il progetto di avvio sia il progetto Web e non il progetto Silverlight stesso.

+4

Oppure, se debuggin dal browser, impostare il progetto Silverlight come avvio, ma nelle impostazioni per il progetto silverlight, in "Debug", impostare il progetto server come applicazione Fuori dal browser anziché come progetto Silverlight. Non del tutto intuitivo, ma devi farlo per eliminare il problema "file: //". – JoeCool

+1

grazie che ha aiutato. Voglio solo aggiungere un po 'nel caso qualcuno lo capisca. il mio errore ha iniziato a verificarsi quando ho cancellato il mio file, immagino che il riferimento al progetto di avvio sia in questo file. – ramnz

0

Sono abbastanza sicuro che si suppone di riferimento a un file lato server, non è un file locale. Inoltre, la maggior parte delle applicazioni Silverlight non è autorizzata ad accedere ai file locali.

+0

Il programma non viene scritto per accedere ai file locali. L'errore si verifica quando il modulo Silverlight effettua la chiamata al metodo di servizio RIA. Questo ha funzionato sull'ambiente di sviluppo originale e ha avuto esito negativo solo dopo il passaggio ad un altro ambiente identico (per quanto posso dire, ma ovviamente non del tutto). –

1

Quello che probabilmente sta accadendo è che l'applicazione client Silverlight sta tentando di comunicare con il servizio web RIA Services sul lato server usando un protocollo "file: //".
Il file XAP di Silverlight è stato avviato direttamente dal file system del server anziché tramite un URL "http: //"? Silverlight sta tentando di utilizzare lo stesso protocollo utilizzato per ottenere il relativo file XAP.
Per lo stesso motivo, quando si avvia l'applicazione da Visual Studio, impostare il progetto Web come progetto di avvio anziché il progetto Silverlight (client).

1

Se si esegue OOB (Fuori dal browser) e si desidera eseguire il debug, allora è necessario impostare il progetto client Silverlight come progetto di avvio, anche all'interno del progetto server, fare clic con il pulsante destro del mouse su "* TestPage.html" e "Imposta come pagina iniziale", quindi, se si verifica l'errore ...

The provided URI scheme 'file' is invalid expected 'http' 

Quindi aprire la pagina delle proprietà del client Silverlight e UNCHECK "Abilita l'esecuzione dell'applicazione fuori dal browser", fare clic su Salva e quindi VERIFICARE l'impostazione e dovrebbe funzionare. vedere ... http://blogs.msdn.com/b/deepm/archive/2010/07/16/debugging-an-oob-silverlight-business-application.aspx

+0

Come ho postato sopra nel mio commento per ZunTzu, devi anche andare alle impostazioni per il progetto silverlight, e in "Debug" impostare il progetto server come applicazione Fuori dal browser piuttosto che il progetto Silverlight. – JoeCool

Problemi correlati