Jegyzet
Az oldalhoz való hozzáférés engedélyezést igényel. Próbálhatod be jelentkezni vagy könyvtárat váltani.
Az oldalhoz való hozzáférés engedélyezést igényel. Megpróbálhatod a könyvtár váltását.
Ez a cikk megoldásokat kínál azokra a leggyakoribb problémákra és hibákra, amelyek a Windows Communication Foundation-alkalmazások használatának első lépéseit követve felmerülhetnek.
Gyakori problémák
Nem találom a projektfájlokat a merevlemezemen.
A Visual Studio a C:\Users\felhasználónév>\<source\repos mappába menti a projektfájlokat.
Nem találom a Svcutil.exe által létrehozott App.configfájlt.
A Visual Studióban a Meglévő elem hozzáadása ablak alapértelmezés szerint csak a következő kiterjesztésű fájlokat jeleníti meg:
- .Cs
- .resx
- .Beállítások
- .Xsd
- .Wsdl
Az összes fájltípus megjelenítéséhez válassza a Minden fájl (*.*) lehetőséget a Meglévő elem hozzáadása ablak jobb alsó sarkában található legördülő listában.
Gyakori hibák
A szolgáltatásalkalmazás fordítása
A BC30420 "Sub Main" hiba nem található a GettingStartedHost.Module1 modulban.
A belépési pont helytelen a Visual Basic alkalmazáshoz. Végezze el a következő módosítást:
- Az Megoldáskezelő ablakban válassza a GettingStartedHost mappát, majd a helyi menü Tulajdonságok elemét. a. A GettingStartedHost ablakban az Indítási objektum területen válassza a Service.Program elemet (vagy az adott alkalmazás belépési pontját) a listából. b. A főmenüben válassza azÖsszes fájl> mentése lehetőséget.
A szolgáltatásalkalmazás futtatása
A HTTP nem tudta regisztrálni a(z) ""http://+:8000/GettingStarted/CalculatorService URL-címet. A folyamat nem rendelkezik hozzáférési jogosultságokkal ehhez a névtérhez.
A megfelelő hozzáférés érdekében indítsa el a Windows Communication Foundation (WCF) szolgáltatást rendszergazdai jogosultságokkal üzemeltető folyamatot:
- Visual Studio esetén: Válassza ki a Visual Studio programot a Start menüben, majd a helyi menüben válassza a További>futtatás rendszergazdaként lehetőséget.
- Konzolablak esetén: Válassza a Parancssor lehetőséget a Start menüben, majd a helyi menüBenválassza a További >futtatás rendszergazdaként lehetőséget.
- Windows Explorer esetén: Válassza ki a végrehajtható fájlt, majd a helyi menüben válassza a Futtatás rendszergazdaként lehetőséget.
Az ügyfélalkalmazás fordítása
A CalculatorClient nem tartalmaz "<metódusnév>" definíciót, és nem található a "CalculatorClient" típusú első argumentumot elfogadó "metódusnév>"< bővítménymetódus (hiányzik egy using direktíva vagy egy szerelvényhivatkozás?)
Csak azok a metódusok lesznek nyilvánosan közzétéve, amelyeket az ServiceOperationAttribute attribútummal jelöl meg. Ha kihagyja az ServiceOperationAttribute attribútumot egy metódusból a felületen, ez a hibaüzenet jelenik meg a ICalculator fordítás során.
A "CalculatorClient" típus- vagy névtérnév nem található (hiányzik egy using direktíva vagy egy szerelvényhivatkozás?)
Ez a hibaüzenet akkor jelenik meg, ha nem adja hozzá a generatedProxy.cs (vagy generatedProxy.vb) fájlt az ügyfélprojekthez, amikor az Svcutil.exe eszközzel létrehozta őket.
Az ügyfélalkalmazás futtatása
Nem kezelt kivétel: System.ServiceModel.EndpointNotFoundException: Nem sikerült csatlakozni a következőhöz: ''http://localhost:8000/GettingStarted/CalculatorService. 10061-ös TCP-hibakód: Nem sikerült kapcsolatot létesíteni, mert a célgép aktívan elutasította.
Ez a hiba akkor fordul elő, ha az ügyfélalkalmazást a szolgáltatás elindítása nélkül futtatja. Először futtassa a gazdaalkalmazást a szolgáltatás elindításához, majd futtassa az ügyfélalkalmazást.
Az Svcutil.exe eszköz használata
Az Svcutil nem ismerhető fel belső vagy külső parancsként, operatív programként vagy kötegelt fájlként.
Svcutil.exe a rendszerútvonalon kell lennie. A legegyszerűbb megoldás a Visual Studio parancssorának használata. A Start menüben válassza a Visual Studio <verziókönyvtárát>, majd válassza a Fejlesztői parancssor VS-verzióhoz <>lehetőséget. Ez a parancssor a Visual Studio részeként szállított összes eszköz rendszerútvonalát a megfelelő helyekre állítja be.
A szolgáltatás- és ügyfélalkalmazások futtatása
System.ServiceModel.Security.SecurityNegotiationException: Nem sikerült a SOAP biztonsági egyeztetése a következő célhoz: "http://localhost:8000/GettingStarted/CalculatorService"http://localhost:8000/GettingStarted/CalculatorService
Ez a hiba olyan tartományhoz csatlakoztatott számítógépen fordul elő, amely nem rendelkezik hálózati kapcsolattal. Csatlakoztassa a számítógépet a hálózathoz, vagy kapcsolja ki a szolgáltatás és az ügyfél biztonságát.
A biztonság kikapcsolása:
A szolgáltatás esetében cserélje le a kódot létrehozó
WSHttpBindingkódot a következő kódra:// Step 3: Add a service endpoint. selfhost.AddServiceEndpoint(typeof(ICalculator), new WSHttpBinding(SecurityMode.None), "CalculatorService");Az ügyfél konfigurációs fájljában frissítse a <kötési elem alatti biztonsági> elemet az <alábbiak szerint:>
<binding name="WSHttpBinding_ICalculator"> <security mode="None" /> </binding>
Lásd még
A WCF-alkalmazások használatának első lépései
WCF hibaelhárítási rövid útmutató
Beállítási problémák elhárítása