Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Dotyczy: Visual Studio
W tym artykule wymieniono rozwiązania typowych problemów, które mogą wystąpić podczas pracy z odwołaniami do programu Windows Communication Foundation (WCF) lub Usługi danych programu WCF w programie Visual Studio.
Jeśli chcesz zaktualizować lub usunąć odwołanie do usługi, zobacz Dodawanie, aktualizowanie lub usuwanie dokumentacji usługi danych WCF.
Błąd, gdy nie podano adresu usługi
Po wybraniu przycisku Przejdź bez adresu może zostać wyświetlony komunikat o błędzie z komunikatem "Wprowadź adres usługi". Aby rozwiązać ten problem, zidentyfikuj adres usługi i wprowadź go.
- Jeśli jest to usługa w rozwiązaniu , możesz użyć przycisku Odnajdź , aby go znaleźć i wybrać, a następnie ponowić próbę użycia przycisku Przejdź .
- Jeśli jest to usługa hostowana gdzieś w Internecie, dodaj ją, postępując zgodnie z instrukcjami w temacie Dodawanie dokumentacji usługi WCF.
Błąd podczas zwracania danych z usługi
W przypadku zwrócenia elementu DataSet lub DataTable z usługi może zostać wyświetlony wyjątek "Przekroczono maksymalny limit przydziału rozmiaru dla komunikatów przychodzących". Domyślnie MaxReceivedMessageSize właściwość niektórych powiązań jest ustawiona na stosunkowo małą wartość, aby ograniczyć narażenie na ataki typu "odmowa usługi". Możesz zwiększyć tę wartość, aby zapobiec wyjątkowi. Aby uzyskać więcej informacji, zobacz MaxReceivedMessageSize.
Aby naprawić ten błąd:
- W Eksplorator rozwiązań kliknij dwukrotnie plik app.config, aby go otworzyć.
-
MaxReceivedMessageSizeZnajdź właściwość i zmień ją na większą wartość.
Nie można znaleźć usługi w moim rozwiązaniu
Po wybraniu przycisku Odnajdź w oknie dialogowym Dodawanie odwołań do usługi co najmniej jeden projekt biblioteki usług WCF na liście usług nie jest wyświetlany. Ten problem może wystąpić, jeśli biblioteka usług została dodana do rozwiązania, ale nie została jeszcze skompilowana.
Aby naprawić ten błąd:
- W Eksplorator rozwiązań kliknij prawym przyciskiem myszy projekt Biblioteka usług WCF.
- Wybierz pozycję Kompilacja.
Błąd podczas uzyskiwania dostępu do usługi za pośrednictwem pulpitu zdalnego
Gdy użytkownik uzyskuje dostęp do usługi WCF hostowanej w sieci Web za pośrednictwem połączenia pulpitu zdalnego, a użytkownik nie ma uprawnień administracyjnych, jest używane uwierzytelnianie NTLM. Jeśli użytkownik nie ma uprawnień administracyjnych, może zostać wyświetlony następujący komunikat o błędzie: "Żądanie HTTP jest nieautoryzowane ze schematem uwierzytelniania klienta "Anonimowe". Nagłówek uwierzytelniania odebrany z serwera to "NTLM".
Aby naprawić ten błąd:
- W projekcie witryny internetowej otwórz strony Właściwości .
- Na karcie Opcje uruchamiania wyczyść pole wyboru Uwierzytelnianie NTLM.
Uwaga 16.
Należy wyłączyć uwierzytelnianie NTLM tylko dla witryn internetowych, które zawierają wyłącznie usługi WCF. Zabezpieczenia usług WCF są zarządzane za pośrednictwem konfiguracji w pliku web.config . Dzięki temu uwierzytelnianie NTLM jest niepotrzebne.
Poziom dostępu dla ustawienia wygenerowanych klas nie ma wpływu
Ustawienie opcji Poziom dostępu dla wygenerowanych klas w oknie dialogowym Konfigurowanie odwołań do usługi na Wewnętrzny lub Przyjaciel może nie zawsze działać. Mimo że opcja wydaje się być ustawiona w oknie dialogowym, wynikowe klasy obsługi są generowane z poziomem Publicdostępu . Jest to znane ograniczenie niektórych typów, takich jak serializowane przy użyciu klasy XmlSerializer.
Błąd debugowania kodu usługi
Podczas przechodzenia do kodu usługi WCF z kodu klienta może zostać wyświetlony błąd związany z brakującymi symbolami. Może wystąpić, gdy usługa, która była częścią rozwiązania, została przeniesiona lub usunięta z rozwiązania.
Po pierwszym dodaniu odwołania do usługi WCF będącej częścią bieżącego rozwiązania zostanie dodana jawna zależność kompilacji między projektem usługi a projektem klienta usługi. Gwarantuje to, że klient zawsze uzyskuje dostęp do aktualnych plików binarnych usługi, co jest szczególnie ważne w przypadku scenariuszy debugowania, takich jak przechodzenie z kodu klienta do kodu usługi.
Jeśli projekt usługi zostanie usunięty z rozwiązania, ta jawna zależność kompilacji zostanie unieważniona. Program Visual Studio nie może już zagwarantować, że projekt usługi zostanie przebudowany w razie potrzeby.
Aby naprawić ten błąd, ręcznie skompiluj projekt usługi:
- Na karcie Narzędzia wybierz pozycję Opcje.
- W oknie dialogowym Opcje rozwiń węzeł Projekty i rozwiązania, a następnie wybierz pozycję Ogólne.
- Upewnij się, że pole wyboru Pokaż zaawansowane konfiguracje kompilacji jest zaznaczone, a następnie wybierz przycisk OK.
- Załaduj projekt usługi WCF.
- W oknie dialogowym Configuration Manager ustaw konfigurację rozwiązania Aktywne na Debugowanie. Aby uzyskać więcej informacji, zobacz How to: Create and edit configurations (Instrukcje: tworzenie i edytowanie konfiguracji).
- W Eksplorator rozwiązań wybierz projekt usługi WCF.
- W menu Kompilacja wybierz pozycję Skompiluj, aby ponownie skompilować projekt usługi WCF.
Usługi danych programu WCF nie są wyświetlane w przeglądarce
Podczas próby wyświetlenia reprezentacji danych XML w usłudze danych WCF program Internet Explorer może błędnie interpretować dane jako źródło danych RSS. Upewnij się, że opcja wyświetlania kanałów informacyjnych RSS jest wyłączona.
Aby naprawić ten błąd, wyłącz kanały informacyjne RSS:
- W programie Internet Explorer w menu Narzędzia wybierz pozycję Opcje internetowe.
- Na karcie Zawartość w sekcji Źródła danych wybierz pozycję Ustawienia.
- W oknie dialogowym Ustawienia kanału informacyjnego wyczyść pole wyboru Włącz widok odczytu kanału informacyjnego, a następnie wybierz przycisk OK.
- Wybierz przycisk OK , aby zamknąć okno dialogowe Opcje internetowe.