2011-10-24 49 views
0

WCFサービスを稼動させようとしているサーバで設定に問題があります。コンパイラは、動作のオプションとしてenablewebscriptを使用しません。wcf enablewebscript要素が認識されない

は、以下の要素

<behaviors> 
    <serviceBehaviors> 
     <behavior name="metadataAndDebug"> 
      <serviceMetadata 
       httpGetEnabled="true" 
       httpGetUrl=""/> 
      <serviceDebug 
       httpHelpPageEnabled="true" 
       includeExceptionDetailInFaults="true" /> 
     </behavior> 
     <behavior name="AutoCompleteGet"> 
      <serviceMetadata httpGetEnabled="true"/> 
     </behavior> 
    </serviceBehaviors> 

    <endpointBehaviors> 
    <behavior name="MyApp.Webservices.AspNetAjaxBehavior"> 
     <enableWebScript/>   
    </behavior>   
    </endpointBehaviors>   
</behaviors> 

と、コンパイラによって報告されたエラーを宣言web.configファイルのセクションです。

Parser Error Message: Invalid element in configuration. The extension name 'enableWebScript' is not registered in the collection at system.serviceModel/extensions/behaviorExtensions. 

Iサーバ上で以下の情報を持っている: - Windows ServerのWeb Editionのサービスパック1 - マイクロソフトAJAX拡張機能v1.0を

インストール - がインストール3.5sp1の.NET Framework:を今朝(このサーバーでWCFサービスを初めて使用するため).NET Framework 3.0のWCFライセンス認証を有効にしました。エラーが発生したのはこの起動後です。有効化の前に、サービスは予想される404エラーメッセージを返しました。

どこに見えるか、インストールされたサービス3.5フレームワークが使用されないように見える理由は何ですか?

答えて

0

(私はこれはやや古い質問ですけど、とにかく - ちょうど、クライアントで同じ問題を自分で持っていたGoogle検索経由で未回答の質問に出くわしたので...)

私は「いくつかの他のソース(ServiceModelReg.exe -uコマンドを使用して)WCFがアンインストールされていることを示しています。それは私が働いている私のサーバーではありませんように、このような場合には、私は知らないが、その特定の問題は、あなたのweb.configファイルに手動で行動拡張子を登録することで回避することができます。

<extensions> 
     <behaviorExtensions> 
      <add name="enableWebScript" type="System.ServiceModel.Configuration.WebScriptEnablingElement, System.ServiceModel.Web, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/> 
     </behaviorExtensions> 
    </extensions> 
あなたは仕事ができることを知っているマシン上のmachine.configをチェックアウトして、セクション全体をしたいことがあり - - それはしかし欠けている場合

チャンスがあり、他のものになります、ここで参考のために私のもの:の

<extensions> 
     <behaviorExtensions> 
      <add name="persistenceProvider" type="System.ServiceModel.Configuration.PersistenceProviderElement, System.WorkflowServices, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/> 
      <add name="workflowRuntime" type="System.ServiceModel.Configuration.WorkflowRuntimeElement, System.WorkflowServices, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/> 
      <add name="enableWebScript" type="System.ServiceModel.Configuration.WebScriptEnablingElement, System.ServiceModel.Web, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/> 
      <add name="webHttp" type="System.ServiceModel.Configuration.WebHttpElement, System.ServiceModel.Web, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/> 
      <add name="Microsoft.VisualStudio.Diagnostics.ServiceModelSink.Behavior" type="Microsoft.VisualStudio.Diagnostics.ServiceModelSink.Behavior, Microsoft.VisualStudio.Diagnostics.ServiceModelSink, Version=3.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"/></behaviorExtensions> 
     <bindingElementExtensions> 
      <add name="webMessageEncoding" type="System.ServiceModel.Configuration.WebMessageEncodingElement, System.ServiceModel.Web, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/> 
      <add name="context" type="System.ServiceModel.Configuration.ContextBindingElementExtensionElement, System.WorkflowServices, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/> 
     </bindingElementExtensions> 
     <bindingExtensions> 
      <add name="wsHttpContextBinding" type="System.ServiceModel.Configuration.WSHttpContextBindingCollectionElement, System.WorkflowServices, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/> 
      <add name="netTcpContextBinding" type="System.ServiceModel.Configuration.NetTcpContextBindingCollectionElement, System.WorkflowServices, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/> 
      <add name="webHttpBinding" type="System.ServiceModel.Configuration.WebHttpBindingCollectionElement, System.ServiceModel.Web, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/> 
      <add name="basicHttpContextBinding" type="System.ServiceModel.Configuration.BasicHttpContextBindingCollectionElement, System.WorkflowServices, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/> 
     </bindingExtensions> 
    </extensions> 

コースの最初の場所でこれが行方不明になっている理由に応じて、それを修正することを保証することはできません。幸運...

+0

古い質問を通過し、これを答えとして受け入れます。私は最終的に問題を解決したが、どのようにリコールすることはできません。 – Jason

関連する問題