Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Dit artikel biedt oplossingen voor de meest voorkomende problemen en fouten die kunnen optreden wanneer u de stappen in de Zelfstudie: Aan de slag met Windows Communication Foundation-toepassingen volgt.
Algemene problemen
Ik kan de projectbestanden niet vinden op mijn harde schijf.
Visual Studio slaat projectbestanden op in C:\Users\<gebruikersnaam>\source\repos.
Ik kan het App.config-bestand dat is gegenereerd door Svcutil.exeniet vinden.
In Visual Studio worden in het venster Bestaand item toevoegen standaard alleen bestanden met de volgende extensies weergegeven:
- .Cs
- .resx
- .Instellingen
- .Xsd
- .Wsdl
Als u alle bestandstypen wilt weergeven, selecteert u Alle bestanden (*.*) in de vervolgkeuzelijst in de rechterbenedenhoek van het venster Bestaand item toevoegen .
Algemene fouten
De servicetoepassing compileren
Fout BC30420 'Sub Main' is not found in 'GettingStartedHost.Module1'.
Het toegangspunt is onjuist voor de Visual Basic-toepassing. Breng de volgende wijziging aan:
- Selecteer in het venster Solution Explorer de map GettingStartedHost en selecteer vervolgens Eigenschappen in het snelmenu. a. Selecteer in het venster GettingStartedHost voor Opstartobject de optie Service.Program (of het toegangspunt voor uw specifieke toepassing) in de lijst. b. Selecteer Bestand>Alles opslaan in het hoofdmenu.
De servicetoepassing uitvoeren
HTTP kan de URLhttp://+:8000/GettingStarted/CalculatorService niet registreren. Uw proces heeft geen toegangsrechten voor deze naamruimte.
Voor de juiste toegang start u het proces dat als host fungeert voor de WCF-service (Windows Communication Foundation) met beheerdersbevoegdheden:
- Voor Visual Studio: selecteer het Visual Studio-programma in het startmenu en selecteer vervolgens Meer>Uitvoeren als beheerder in het snelmenu.
- Voor een consolevenster: selecteer Opdrachtprompt in het Startmenu en selecteer vervolgens Meer>Uitvoeren als-beheerder in het snelmenu.
- Voor Windows Verkenner: selecteer het uitvoerbare bestand en selecteer vervolgens Als administrator uitvoeren in het snelmenu.
De clienttoepassing compileren
'CalculatorClient', bevat geen definitie voor '<methodenaam>' en er is geen extensiemethode '<methodenaam>' gevonden die een eerste argument van het type 'CalculatorClient' accepteert (ontbreekt er een instructie voor gebruiken of een assembly-verwijzing?)
Alleen de methoden die u met het ServiceOperationAttribute kenmerk markeert, worden openbaar weergegeven. Als u het ServiceOperationAttribute kenmerk uit een methode in de ICalculator interface weglaat, ontvangt u dit foutbericht tijdens de compilatie.
Het type of de naamruimtenaam 'CalculatorClient' kan niet worden gevonden (ontbreekt er een using-instructie of een assembly-verwijzing?)
U krijgt deze fout als u het bestand generatedProxy.cs (of generatedProxy.vb) niet toevoegt aan uw clientproject wanneer u deze hebt gegenereerd met het hulpprogrammaSvcutil.exe .
De clienttoepassing uitvoeren
Onverwerkte uitzondering: System.ServiceModel.EndpointNotFoundException: Kan geen verbinding maken met 'http://localhost:8000/GettingStarted/CalculatorService'. TCP-foutcode 10061: er kan geen verbinding worden gemaakt omdat de doelcomputer deze actief heeft geweigerd.
Deze fout treedt op als u de clienttoepassing uitvoert zonder de service eerst te starten. Voer eerst de hosttoepassing uit om de service te starten en voer vervolgens de clienttoepassing uit.
Het hulpprogramma Svcutil.exe gebruiken
'Svcutil' wordt niet herkend als een interne of externe opdracht, beveiligbaar programma of batchbestand.
Svcutil.exe moet zich in het systeempad bevinden. De eenvoudigste oplossing is om de Visual Studio-opdrachtprompt te gebruiken. Selecteer in het startmenu de map Visual Studio-versie <> en selecteer vervolgens Opdrachtprompt voor ontwikkelaars voor VS-versie<>. Met deze opdrachtprompt wordt het systeempad ingesteld op de juiste locaties voor alle hulpprogramma's die als onderdeel van Visual Studio worden geleverd.
De service en clienttoepassingen uitvoeren
System.ServiceModel.Security.SecurityNegotiationException: SOAP-beveiligingsonderhandeling met 'http://localhost:8000/GettingStarted/CalculatorService' voor doel 'http://localhost:8000/GettingStarted/CalculatorService' is mislukt
Deze fout treedt op op een computer die lid is van een domein die geen netwerkverbinding heeft. Sluit uw computer aan op het netwerk of schakel beveiliging uit voor zowel de service als de client.
Beveiliging uitschakelen:
Vervang voor de service de code waarmee de
WSHttpBindingwordt gemaakt door de volgende code:// Step 3: Add a service endpoint. selfhost.AddServiceEndpoint(typeof(ICalculator), new WSHttpBinding(SecurityMode.None), "CalculatorService");Voor de client werkt u in het configuratiebestand het <beveiligingselement> onder het <bindingselement> als volgt bij:
<binding name="WSHttpBinding_ICalculator"> <security mode="None" /> </binding>
Zie ook
Aan de slag met WCF-toepassingen
Snelstartgids voor wcf-probleemoplossing
Installatieproblemen oplossen