0

IIS 7.5 で Web サービスを実行しています

この Web サービスが実行されている Web サイトの IIS または AppPool を再起動するたびに、以下のエラー メッセージが表示されます。次に、コンパイルのバージョンを (4.5 から 4.0 に、または 4.0 から 4.5 に) 変更して web.config ファイルを保存すると、正常に動作することがわかりました。これは本当に奇妙です。誰でもこれについて私を助けてくれませんか。

web.config:

<configuration>
  <system.web>
    <compilation debug="true" targetFramework="4.5"/>
    <httpRuntime targetFramework="4.5"/>
  </system.web>
    <connectionStrings>
        <add name="NetDBEntities" connectionString="metadata=res://*/EFatura.csdl|res://*/EFatura.ssdl|res://*/EFatura.msl;provider=System.Data.SqlClient;provider connection string=&quot;data source=***********;initial catalog=*****;persist security info=True;user id=sa;password=***************;MultipleActiveResultSets=True;App=NSEfatLib&quot;" providerName="System.Data.EntityClient" />
    </connectionStrings>
    <system.serviceModel>
    <services>
        <service name="NSEfatLib.NSEfatEntryPoint">
        <endpoint address="Cari" binding="basicHttpBinding" bindingConfiguration=""
          name="Cari" contract="NSEfatLib.ICari" />
        <endpoint address="Stok" binding="basicHttpBinding" bindingConfiguration=""
          name="Stok" contract="NSEfatLib.IStok" />
        <endpoint address="FaturaIslemler" binding="basicHttpBinding"
          bindingConfiguration="" name="FaturaIslemler" contract="NSEfatLib.IFaturaIslemler" />
        <endpoint address="DefterIslemler" binding="basicHttpBinding"
          bindingConfiguration="" name="DefterIslemler" contract="NSEfatLib.IDefterIslemler" />
      </service>
    </services>
    <behaviors>
      <serviceBehaviors>
        <behavior>
          <serviceMetadata httpGetEnabled="true" httpsGetEnabled="true"/>
          <serviceDebug includeExceptionDetailInFaults="true"/>
        </behavior>
      </serviceBehaviors>
    </behaviors>
    <protocolMapping>
      <add binding="basicHttpsBinding" scheme="https"/>
    </protocolMapping>
    <serviceHostingEnvironment aspNetCompatibilityEnabled="true" multipleSiteBindingsEnabled="true"/>
  </system.serviceModel>
  <system.webServer>
    <modules runAllManagedModulesForAllRequests="true"/>
    <directoryBrowse enabled="true"/>
  </system.webServer>
</configuration>

エラーメッセージ:

ServiceHost ディレクティブで Service 属性値として提供されるか、構成要素 system.serviceModel/serviceHostingEnvironment/serviceActivations で提供されるタイプ 'NSEfatLib.NSEfatEntryPoint' が見つかりませんでした。説明: 現在の Web 要求の実行中に未処理の例外が発生しました。エラーの詳細とコード内のどこでエラーが発生したかについては、スタック トレースを確認してください。

例外の詳細: System.InvalidOperationException: ServiceHost ディレクティブで Service 属性値として提供されるか、構成要素 system.serviceModel/serviceHostingEnvironment/serviceActivations で提供されるタイプ 'NSEfatLib.NSEfatEntryPoint' が見つかりませんでした。

ソース エラー:

現在の Web 要求の実行中に未処理の例外が生成されました。例外の発生元と場所に関する情報は、以下の例外スタック トレースを使用して特定できます。

スタックトレース:

[InvalidOperationException: ServiceHost ディレクティブで Service 属性値として提供されるか、構成要素 system.serviceModel/serviceHostingEnvironment/serviceActivations で提供されるタイプ 'NSEfatLib.NSEfatEntryPoint' が見つかりませんでした。]
System.ServiceModel.Activation.ServiceHostFactory.CreateServiceHost (String constructorString, Uri[] baseAddresses) +122516
System.ServiceModel.HostingManager.CreateService(String normalizedVirtualPath, EventTraceActivity eventTraceActivity) +1451
System.ServiceModel.HostingManager.ActivateService(ServiceActivationInfo serviceActivationInfo, EventTraceActivity eventTraceActivity) +76
System.ServiceModel.HostingManager.EnsureServiceAvailable(String normalizedVirtualPath, EventTraceActivity eventTraceActivity) +901

[ServiceActivationException: コンパイル中に例外が発生したため、サービス '/Service.svc' をアクティブ化できません。例外メッセージは次のとおりです。タイプ 'NSEfatLib.NSEfatEntryPoint'、ServiceHost ディレクティブの Service 属性値として提供されるか、構成要素 system.serviceModel/serviceHostingEnvironment/serviceActivations で提供されますが見つかりませんでした..] System.Runtime.AsyncResult. End(IAsyncResult 結果) +650220 System.ServiceModel.Activation.HostedHttpRequestAsyncResult.End(IAsyncResult 結果) +210733
System.Web.CallHandlerExecutionStep.OnAsyncHandlerCompletion(IAsyncResult ar) +282

イベント ログ エントリ:

System.ServiceModel.ServiceHostingEnvironment+HostingManager/62476613 System.ServiceModel.ServiceActivationException: コンパイル中の例外のため、サービス '/Service.svc' をアクティブ化できません。例外メッセージ: タイプ 'NSEfatLib.NSEfatEntryPoint'、ServiceHost ディレクティブの Service 属性値として提供されるか、構成要素 system.serviceModel/serviceHostingEnvironment/serviceActivations で提供されますが見つかりませんでした.. ---> System.InvalidOperationException : タイプ 'NSEfatLib.NSEfatEntryPoint'、ServiceHost ディレクティブの Service 属性値として提供されるか、構成要素 system.serviceModel/serviceHostingEnvironment/serviceActivations で提供されますが見つかりませんでした。System.ServiceModel.Activation.ServiceHostFactory で。
5028

4

1 に答える 1

0

興味深いことに、上記のエラーは、Web サービスがプリコンパイルされたときに発生しました。サービスを定期的に (プリコンパイルせずに) 実行しようとしましたが、問題は発生しなくなりました。

Web サービス内でライブラリを使用していたので、実際には Web サービス自体にコードはまったくありませんでした。多分それが理由です。とにかく、コードがないので、プリコンパイルも問題ありません。

于 2013-11-13T13:03:44.540 に答える