2010-10-12 12 views
11

Utworzono małą aplikację Silverlight 4.0/RIA Services i przetestowałem ją. Rozwinąłem aplikację na komputerze w domu i musiałem przenieść ją do domeny produkcyjnej w pracy. Zrobiłem to poprzez wciśnięcie go do repozytorium źródłowego, a następnie sklonowanie go do maszyny dev w pracy. Tworzy bezbłędnie w obu lokalizacjach.Podany schemat URI "plik" jest nieprawidłowy oczekiwany "http"

Problem występuje podczas próby debugowania w nowej lokalizacji. Na pierwszy „load()” metody na kontekście domeny pojawia się następujący błąd:

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

dostaję że debugger próbuje uruchomić z pliku opartego URI zamiast HTTP URI. Ale dlaczego? I jak to naprawić?

Podczas wyszukiwania w SO zwrócono kilka podobnych błędów dotyczących nieprawidłowych schematów URI, ale żaden z nich nie pomógł mi w rozwiązaniu tego problemu.

Dzięki Jim

Odpowiedz

27

Upewnij się, że projekt startowy jest projektem internetowym, a nie samym projektem Silverlight.

+4

Lub, jeśli debuggowanie za pomocą przeglądarki, ustaw projekt Silverlight jako startowy, ale w ustawieniach projektu silverlight, w sekcji "Debugowanie", ustaw projekt serwera jako aplikację poza przeglądarką, a nie projekt silverlight. Niezupełnie intuicyjny, ale musisz to zrobić, aby pozbyć się problemu "file: //". – JoeCool

+1

dzięki, które pomogły. Chcę tylko dodać trochę, na wypadek gdyby ktoś to dostał. mój błąd zaczął się dziać po usunięciu pliku suo, domyślam się, że odniesienie do projektu startowego jest w tym pliku. – ramnz

0

Jestem pewien, że mają odwoływać się do pliku po stronie serwera, a nie plik lokalny. Ponadto większość aplikacji Silverlight nie ma dostępu do plików lokalnych.

+0

Program nie został napisany w celu uzyskania dostępu do plików lokalnych. Błąd występuje, gdy moduł Silverlight wykonuje wywołanie metody usługi RIA. To działało na oryginalnym środowisku programistycznym i zawiodło dopiero po przejściu na inne, identyczne (o ile mogę powiedzieć, ale oczywiście nie całkiem) środowisko. –

1

Prawdopodobnie aplikacja kliencka Silverlight próbuje komunikować się z usługą WWW RIA Services przy użyciu protokołu "file: //".
Czy uruchomiłeś plik XAP programu Silverlight bezpośrednio z systemu plików serwera, a nie poprzez adres URL "http: //" Silverlight próbuje użyć tego samego protokołu, który był używany do uzyskania pliku XAP:
z tego samego powodu, uruchamiając aplikację z Visual Studio, ustaw projekt WWW jako projekt startowy zamiast projektu Silverlight (klient)

1

Jeśli używasz OOB (Out Of Browser) i chcesz debugować, to musisz ustawić swój projekt klienta Silverlight jako projekt początkowy, również w projekcie serwera, kliknij prawym przyciskiem myszy na "* Stronie testowej.html" i "Ustaw jako stronę początkową", a następnie, jeśli pojawi się błąd ...

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

Następnie otwórz stronę właściwości klienta Silverlight i UNCHECK "Włącz działającą aplikację poza przeglądarką", kliknij przycisk Zapisz, a następnie sprawdź ustawienie z powrotem i powinno działać. zobacz ... http://blogs.msdn.com/b/deepm/archive/2010/07/16/debugging-an-oob-silverlight-business-application.aspx

+0

Jak napisałem powyżej w moim komentarzu do ZunTzu, musisz również przejść do ustawień projektu silverlight, a pod "Debugowanie" ustawić projekt serwera jako aplikację poza przeglądarką zamiast projektu silverlight. – JoeCool

Powiązane problemy