Dela via


Felsöka Windows Communication Foundation (WCF) eller WCF Data Services-referenser i Visual Studio

Gäller för: Visual Studio

Den här artikeln innehåller lösningar på vanliga problem som kan uppstå när du arbetar med referenser till Windows Communication Foundation (WCF) eller WCF Data Services i Visual Studio.

Om du vill uppdatera eller ta bort en tjänstreferens läser du Lägg till, uppdatera eller ta bort en WCF-datatjänstreferens.

Fel när ingen tjänstadress har angetts

När du väljer knappen Gå utan adress kan ett felmeddelande visas med texten "Ange adressen för en tjänst". Lös problemet genom att identifiera tjänstens adress och ange den.

  • Om det är en tjänst i din lösning kan du använda knappen Identifiera för att hitta och välja den och sedan prova knappen Gå igen.
  • Om det är en tjänst som finns någonstans på Internet lägger du till den genom att följa anvisningarna i Lägg till en WCF-tjänstreferens.

Fel vid returnering av data från en tjänst

När du returnerar en DataSet eller DataTable från en tjänst kan du få undantaget "Den maximala storlekskvoten för inkommande meddelanden har överskridits". Som standard MaxReceivedMessageSize är egenskapen för vissa bindningar inställd på ett relativt litet värde för att begränsa exponeringen för överbelastningsattacker. Du kan öka det här värdet för att förhindra undantaget. Mer information finns i MaxReceivedMessageSize.

Så här åtgärdar du det här felet:

  1. Dubbelklicka på filen app.config i Solution Explorer för att öppna den.
  2. MaxReceivedMessageSize Leta upp egenskapen och ändra den till ett större värde.

Det går inte att hitta en tjänst i min lösning

När du väljer knappen Identifiera i dialogrutan Lägg till tjänstreferenser visas inte ett eller flera WCF-tjänstbiblioteksprojekt i lösningen i tjänstlistan. Det här problemet kan inträffa om ett tjänstbibliotek har lagts till i lösningen men ännu inte har kompilerats.

Så här åtgärdar du det här felet:

  1. Högerklicka på projektet WCF-tjänstbibliotek i Solution Explorer.
  2. Välj Skapa.

Fel vid åtkomst till en tjänst via ett fjärrskrivbord

När en användare får åtkomst till en webbhanterad WCF-tjänst via en fjärrskrivbordsanslutning och användaren inte har administratörsbehörighet används NTLM-autentisering. Om användaren inte har administratörsbehörighet kan användaren få följande felmeddelande: "HTTP-begäran är obehörig med klientautentiseringsschemat "Anonym". Autentiseringshuvudet som togs emot från servern var "NTLM".

Så här åtgärdar du det här felet:

  1. Öppna sidorna Egenskaper i webbplatsprojektet.
  2. På fliken Startalternativ avmarkerar du kryssrutan NTLM-autentisering .

Kommentar

Du bör inaktivera NTLM-autentisering endast för webbplatser som uteslutande innehåller WCF-tjänster. Säkerhet för WCF-tjänster hanteras via konfigurationen i filen web.config . Detta gör NTLM-autentiseringen onödig.

Åtkomstnivå för inställningen genererade klasser har ingen effekt

Att ange åtkomstnivå för genererade klasser i dialogrutan Konfigurera tjänstreferenser till Intern eller Vän kanske inte alltid fungerar. Även om alternativet verkar vara inställt i dialogrutan genereras de resulterande stödklasserna med åtkomstnivån Public. Detta är en känd begränsning av vissa typer, till exempel de som serialiseras med hjälp av XmlSerializer.

Fel vid felsökning av tjänstkod

När du går in i koden för en WCF-tjänst från klientkoden kan du få ett fel som rör saknade symboler. Det kan inträffa när en tjänst som var en del av din lösning flyttades eller togs bort från lösningen.

När du först lägger till en referens till en WCF-tjänst som ingår i den aktuella lösningen läggs ett explicit byggberoende till mellan tjänstprojektet och tjänstklientprojektet. Detta garanterar att klienten alltid har åtkomst till uppdaterade tjänstbinärfiler, vilket är särskilt viktigt för felsökningsscenarier, till exempel steg från klientkod till tjänstkod.

Om tjänstprojektet tas bort från lösningen ogiltigförklaras det här explicita byggberoendet. Visual Studio kan inte längre garantera att tjänstprojektet återskapas efter behov.

Åtgärda det här felet genom att manuellt återskapa tjänstprojektet:

  1. På menyn Tools (Verktyg) väljer du Options (Alternativ).
  2. I dialogrutan Alternativ expanderar du Projekt och lösningar och väljer sedan Allmänt.
  3. Kontrollera att kryssrutan Visa avancerade byggkonfigurationer är markerad och välj sedan OK.
  4. Läs in WCF-tjänstprojektet.
  5. I dialogrutan Configuration Manager ställer du in konfigurationen för aktiv lösning på Felsök. Mer information finns i Så här skapar och redigerar du konfigurationer.
  6. I Solution Explorer väljer du WCF-tjänstprojektet.
  7. På menyn Skapa väljer du Återskapa för att återskapa WCF-tjänstprojektet.

WCF Data Services visas inte i webbläsaren

När den försöker visa en XML-representation av data i en WCF-datatjänst kan Internet Explorer misstolka data som ett RSS-flöde. Kontrollera att alternativet för att visa RSS-feeds är inaktiverat.

Åtgärda det här felet genom att inaktivera RSS-feeds:

  1. I Internet Explorer går du till menyn Verktyg och väljer Internetalternativ.
  2. På fliken Innehåll går du till avsnittet Feeds och väljer Inställningar.
  3. I dialogrutan Flödesinställningar avmarkerar du kryssrutan Aktivera läsvyn för feed och väljer sedan OK.
  4. Välj OK för att stänga dialogrutan Internetalternativ .