0

<system.serviceModel>web.config ファイルのタグで次のように構成しました。

<system.serviceModel>
  <bindings/>
  <client/>
  <behaviors>
    <serviceBehaviors>
      <behavior name="serviceTypeBehaviors">
        <serviceMetadata httpGetEnabled="true"/>
        <serviceDebug includeExceptionDetailInFaults="true"/>
      </behavior>
    </serviceBehaviors>
  </behaviors>
  <serviceHostingEnvironment multipleSiteBindingsEnabled="true">
  </serviceHostingEnvironment>
  <services>
    <service behaviorConfiguration="serviceTypeBehaviors" name="AcpService.MainFrameData">
      <endpoint address="" binding="basicHttpBinding" contract="AcpService.IMainFrameService" />
      <endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange" />
    </service>
  </services>
</system.serviceModel>

私のサービスの XML は次のとおりです。

<%@ ServiceHost Language="C#" Debug="true" Service="AcpService.MainFrameData" CodeBehind="MainFrameWoData.svc.cs" %>

私のアプリケーションは、既定の Web サイトのアプリケーション プールで実行されており、[ 32 ビット アプリケーションを有効にする] が [ True ]に設定されています(サービスが古いデータ アクセス ライブラリを使用しているため)。

実行すると、次のエラーが表示されます。

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

ServiceHost ディレクティブで Service 属性値として提供されるか、構成要素 system.serviceModel/serviceHostingEnvironment/serviceActivations で提供されるタイプ 'AcpService.MainFrameData' が見つかりませんでした。

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

バージョン情報: Microsoft .NET Framework バージョン:4.0.30319; ASP.NET バージョン:4.0.30319.272

<serviceHostingEnvironment>パラメータを含めるようにタグをほとんど変更しまし<serviceActions>たが、その方法がよくわかりません。

これは私が得た距離です:

<serviceHostingEnvironment multipleSiteBindingsEnabled="true">
  <serviceActivations>
    <add factory="System.ServiceModel.Activation.ServiceHostFactory"
      relativeAddress="~/mainframe/MainFrameWoData.svc"
      service="AcpService.MainFrameData" />
  </serviceActivations>
</serviceHostingEnvironment>

これを正しく行っているかどうかわかりません。また、service=パラメータに何を挿入すればよいかわかりません。のMSDN の情報は役に立たないようです。

このプロジェクトはもともと別の名前でしたが、サービスに機能を追加する必要があります。アクティブなサービスを編集したくありません。編集すると、内部ネットワーク上のデータにアクセスしようとしているすべての従業員が現在そのエラーを受け取ることになるため、サービスは新しいプロジェクトにコピーされ、公開されています。サーバー上の新しい場所に移動します。私の最善の推測は、web.configファイル (または ???) に、プロジェクト自体と一致しないものがあるということです。

誰かがこれについて私に助けてもらえますか?

4

1 に答える 1

0

私のプロジェクトでは、 MainFrameDataの代わりにMainFrameServiceが必要だったようです。

この投稿を削除し始めましたが...誰が知っていますか? おそらく、他の誰かがそれを利用することができます。

于 2013-03-07T21:52:03.693 に答える