23

WCFサービスライブラリは、通常のクラスライブラリが実行しないことを実行しますか?

編集:私は自分の答えを投稿しました。私は何かが足りないのですか?基本的に、両方ともいくつかのテンプレートクラスが追加された単なるクラスライブラリですか?

4

4 に答える 4

25

両方作成して比較しました。これが私が見つけたものです。

WCF サービス ライブラリ

  • System.Runtime.Serializationとへの参照を追加しますSystem.ServiceModelSystem.Data.DataSetExtensionsクラス ライブラリのように への参照は含まれません。
  • サンプル サービス クラスが含まれていIService1ますCompositeTypeService1
  • wsHttpBinding および mexHttpBinding サービス エンドポイントを使用して app.config を追加します。
  • /client:"WcfTestClient.exe"プロジェクトのプロパティにデバッグ コマンド ライン オプションとして追加します
  • WCF Optionsプロジェクトのプロパティにタブを追加します。このタブには、同じソリューションで別のプロジェクトをデバッグするときに WCF サービス ホストを開始するオプションが含まれています。
  • Sign the ClickOnce manifestsプロジェクト プロパティの [署名] タブのオプションを有効にします。このオプションは、クラス ライブラリでは無効になっています
于 2010-03-12T18:50:30.747 に答える
5

また、F5 で WCF サービス ホスト ユーティリティを実行します。お気づきの/clientように、スイッチは WCF サービス ホストに渡され、どのクライアントを起動するかを伝えています。この場合、WCF テスト クライアントを起動するように指示されています。

これにより、かなり良いF5経験が得られます。サービスにブレークポイントを設定し、 をヒットF5し、テスト クライアントを使用してサービス操作を呼び出すと、ブレークポイントがヒットします。

于 2010-03-12T19:16:14.903 に答える
2

クラス ライブラリを WCF ホスティング タイプとして使用して VS 2010 プロジェクトでテストしましたが、wsdl またはプロキシ クラスの生成に失敗します。

WCF プロジェクトは通常のクラス ライブラリとは異なります。これは、ソリューション/プロジェクト参照に多くの dll を追加し、(Service1.svc)テンプレートを追加するためです。これを IIS サーバーにデプロイし、svcutil.exe を使用して 2 つの出力ファイルを作成する必要があります。

于 2010-09-24T06:50:03.163 に答える
0

ここで説明されているように:

最初の PropertyGroup 要素で、次の操作を行います。

ProductVersion 要素を探します。次のように製品バージョンを更新します。

<ProductVersion>8.0.50727</ProductVersion>

AssemblyName 要素の下に、次の要素を追加します。

<ProjectTypeGuids>{3D9AD99F-2412-4246-B90B-4EAA41C64699};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>

<StartArguments>/client:"WcfTestClient.exe"</StartArguments>

ファイルの最後までスクロールし、Import 要素の下に次の拡張子を追加します。

<ProjectExtensions>
    <VisualStudio>
      <FlavorProperties GUID="{3D9AD99F-2412-4246-B90B-4EAA41C64699}">
        <WcfProjectProperties>
          <AutoStart>True</AutoStart>
        </WcfProjectProperties>
      </FlavorProperties>
    </VisualStudio>
  </ProjectExtensions>
于 2014-02-11T10:20:41.390 に答える