0

wf4.0 でエンタープライズ ライブラリの検証を使用したいと考えています。以下は私の構成です。

<?xml version="1.0" encoding="utf-8" ?>
<configuration> 
  <system.web>
    <compilation debug="true" targetFramework="4.0" />
  </system.web>
  <system.serviceModel>
    <services>
      <service name="Service1" behaviorConfiguration="PublishMetadata">
        <endpoint address=""
        binding="basicHttpBinding" contract="ITestService" behaviorConfiguration="Validation"/>       
      </service>      
      </services>

    <behaviors>
      <endpointBehaviors>
        <behavior name="Validation">
          <validation enabled="true"/>
        </behavior>
      </endpointBehaviors>

      <serviceBehaviors>
        <behavior name="PublishMetadata">
          <serviceMetadata httpGetEnabled="true"/>
        </behavior>
      </serviceBehaviors>
    </behaviors>
    <extensions>
      <behaviorExtensions>
        <add name="validation"
             type="Microsoft.Practices.EnterpriseLibrary.Validation.Integration.WCF.ValidationElement, Microsoft.Practices.EnterpriseLibrary.Validation.Integration.WCF, Version=4.1.0.0, Culture=neutral, PublicKeyToken=null" />
      </behaviorExtensions>
    </extensions>
    <serviceHostingEnvironment multipleSiteBindingsEnabled="true" />
  </system.serviceModel>
  <system.webServer>
    <modules runAllManagedModulesForAllRequests="true"/>
  </system.webServer>
</configuration>

Web ブラウザーでサービスを参照しようとすると、例外がスローされます。例外 :-

「/」アプリケーションでサーバー エラーが発生しました。

値を null にすることはできません。パラメーター名: operation.SyncMethod 説明: 現在の Web 要求の実行中に未処理の例外が発生しました。エラーの詳細とコード内のどこでエラーが発生したかについては、スタック トレースを確認してください。

例外の詳細: System.ArgumentNullException: 値を null にすることはできません。パラメータ名: operation.SyncMethod

4

1 に答える 1

0

WF サービスは WCf 非同期サービスの一種であることがわかっています。エンタープライズ ライブラリは非同期サービスをサポートしていません。ある専門家は、エンタープライズ ライブラリを更新することを提案しましたが、ワークフロー サービスを使用しないことも提案しました。ディスカッション全体を表示するには、このリンクをたどってください。

http://entlib.codeplex.com/discussions/357087

そして、彼のサポートと理解のための "randylevy" に感謝します

于 2012-06-05T06:25:06.307 に答える