Sdílet prostřednictvím


Omezení ladění WCF

Existují tři způsoby, jak začít s laděním služby WCF:

  • Ladíte proces klienta, který volá službu. Kroky ladicího programu do služby. Služba nemusí být ve stejném řešení jako vaše klientská aplikace.

  • Ladíte proces klienta, který provádí požadavek na službu. Služba musí být součástí vašeho řešení.

  • Připojení k procesu slouží k připojení ke službě, která je aktuálně spuštěná. Ladění začíná uvnitř služby.

Toto téma popisuje omezení těchto scénářů.

Omezení při krokování do služby

Pokud chcete přejít ke službě z klientských aplikací, které ladíte, musí být splněny následující podmínky:

  • Klient musí službu volat pomocí synchronního objektu klienta.

  • Operace kontraktu nemůže být jednosměrná.

  • Pokud je server asynchronní, nemůžete při spouštění kódu ve službě zobrazit úplný zásobník volání.

  • Ladění musí být povolené pomocí následujícího kódu v souboru app.config nebo Web.config:

    <system.web>
      <compilation debug="true" />
    </system.web>
    

    Tento kód je potřeba přidat jenom jednou. Tento kód můžete přidat úpravou souboru .config nebo připojením ke službě pomocí funkce Připojit k procesu. Když ve službě použijete připojení ke zpracování , kód ladění se automaticky přidá do souboru .config. Potom můžete ladit a krokovat do služby, aniž byste museli upravovat soubor .config.

Omezení při kroku mimo službu

Krokování ze služby a zpět do klienta má stejná omezení, která jsou popsaná pro krokování do služby. Kromě toho musí být ladicí program připojený k klientovi. Pokud ladíte klienta a krokujete do služby, ladicí program zůstane připojený ke službě. To platí bez ohledu na to, jestli jste spustili klienta spuštěním ladění nebo připojeným k klientovi pomocí připojení k procesu. Pokud jste začali ladění připojením ke službě, ladicí program ještě není připojený k klientovi. V takovém případě, pokud potřebujete přejít ze služby a zpět do klienta, musíte nejprve použít připojení k procesu a připojit se k klientovi ručně.

Omezení automatického připojení ke službě

Automatické připojení ke službě má následující omezení:

  • Služba musí být součástí řešení sady Visual Studio, které ladíte.

  • Služba musí být hostovaná. Může být součástí projektu webu (systém souborů a HTTP), projektu webové aplikace (systém souborů a HTTP) nebo projektu knihovny služeb WCF. Projekty knihovny služeb WCF mohou být knihovny služeb nebo knihovny služeb pracovního postupu.

  • Služba musí být vyvolána z klienta WCF.

  • Ladění musí být povolené pomocí následujícího kódu v souboru app.config nebo Web.config:

    <system.web>
      <compilation debug="true" />
    <system.web>
    

Samoobslužné hostování

Služba v místním prostředí je služba WCF, která neběží uvnitř služby IIS, hostitele služby WCF nebo vývojového serveru ASP.NET. Informace o tom, jak ladit službu v místním prostředí, naleznete v tématu Postupy: Ladění služby WCF v místním prostředí.

Pokud se zobrazí chybová zpráva Nejde automaticky přejít na server, opravte instalaci sady Visual Studio a pokuste se problém vyřešit. K tomu může dojít v případě, že před instalací ASP.NET nainstalujete Sadu Visual Studio.