0

私のプロジェクトは WCF Web サービスに基づいており、デバッグ中に WCF テスト クライアントを起動しています。エラーが発生した場合、特定のポイントでコードを中断するのではなく、WCF テスト クライアントにエラーを報告しているだけです。

コードを中断したいので、デバッグして、中断しているレコードを監視できます。これは以前は発生していましたが、突然機能しなくなりました。web.configで無効にしたものかどうかはわかりません。

Project Web サーバーはまだ IIS Express (localhost:#####) に設定されており、WCF テスト クライアントを使用する他のプロジェクトがありますが、コードが正常に壊れています。

<?xml version="1.0"?>
<configuration>

  <configSections>
    <sectionGroup name="applicationSettings" type="System.Configuration.ApplicationSettingsGroup, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" >
      <section name="ConnectorService.Properties.Settings" type="System.Configuration.ClientSettingsSection, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" />
    </sectionGroup>
  </configSections>
  <appSettings>
     <add key="aspnet:UseTaskFriendlySynchronizationContext" value="true" />
  </appSettings>
  <system.web>
    <compilation debug="true" targetFramework="4.5" />
    <httpRuntime requestValidationMode="2.0" targetFramework="4.5"/>
  </system.web>
  <system.serviceModel>
    <behaviors>

      <serviceBehaviors>
        <behavior>
          <serviceMetadata httpGetEnabled="true" />
          <serviceDebug includeExceptionDetailInFaults="true"/>
        </behavior>
      </serviceBehaviors>

    </behaviors> 
    <serviceHostingEnvironment aspNetCompatibilityEnabled="true" multipleSiteBindingsEnabled="true" />
  </system.serviceModel>
  <system.webServer>
    <modules runAllManagedModulesForAllRequests="true"/>
    <directoryBrowse enabled="true"/>
  </system.webServer>

  <applicationSettings>
    <ConnectorService.Properties.Settings>
      <setting name="ConnectionName" serializeAs="String">
        <value>Test</value>
      </setting>
      <setting name="UserName" serializeAs="String">
        <value>TestUser</value>
      </setting>
      <setting name="Password" serializeAs="String">
        <value>Password</value>
      </setting>
    </ConnectorService.Properties.Settings>
  </applicationSettings>
</configuration>

詳しい情報を提供できる場合は、それが何であるかわかりません。よろしくお願いします。

4

3 に答える 3

0

クライアントを起動するときは、必ずデバッガにアタッチしてください。 プロセスをデバッガーにアタッチする方法は次のとおりです

于 2014-02-13T13:53:01.300 に答える
0

良い!RESTサービスを作成している場合は、 Fidlerが適切なオプションです。

  1. 常にロギング メカニズムを使用します。例外が発生した場合と同様に、ファイルを作成し、そのファイルのログの詳細をcatchブロックに配置します。

  2. デバッグするための 1 つのオプションは、Visual Studio のプロセス オプションにアタッチすることです。メニューバーで、 Debug に移動し、次にAttach to process...を選択して、適切なプロセス (Fiddler の可能性があります) を選択します。

  3. 別のオプションは、同じ WCF ソリューションで別のプロジェクト (クライアント プロジェクト) を作成することです。クライアント プロジェクトが WCF サービスを使用していることを確認してください。ソリューションを右クリックし、 Set StartUp Project...をクリックし、 Radio Button Multiple startup projects...をオンにし、プロジェクト リストからAction to Start を選択します。

  4. その後、デバッグする WCF コードのブレークポイントを使用してプロジェクトを実行し、クライアントを実行します。リクエストが行われると、ブレークポイントにヒットします。デバッグモードで実行していることを確認します。

この回答を参照してください。

于 2014-02-13T13:43:25.213 に答える