2

カスタムAppPoolを使用してIIS6でWCFサービスをホストしました。このAppPoolは、IIS_WPGグループに属するユーザーの下で実行するように構成されています。

離れた場所からサービスにアクセスでき、wsdlも表示されますが、「WCFテストクライアント」から同じサービスにアクセスしようとすると、次のエラーが発生しました。

ここに画像の説明を入力してください

更新: AppPoolのIDを「ネットワークサービス」グループに変更して同じサービスを実行すると、テストクライアントからサービスにアクセスできます。したがって、サービスのメタデータにアクセスできるのは、サービスが「ネットワークサービス」(ユーザーのデフォルトのID)以外のIDで実行されている場合のみです。

4

2 に答える 2

1

私は過去にこの問題を経験しました。解決策は、クライアントとサービスをホストしているサーバーの間でサービスアカウントを使用して認証することでした。

于 2014-01-13T22:07:40.030 に答える
0

上記と同じ問題があります。この問題の解決策を見つけるために私が行ったことは次のとおりです。

IIS6へのWCFの展開プロセスを開始します。

  1. サーバーにフォルダーを作成し、WCFパッケージをコピーします。
  2. WCF用のAppPoolを作成します。
  3. 新しく作成されたAppPoolを右クリックし、[プロパティ]を選択して、[ID]タブに移動します。「構成可能」を選択し、ネットワークサービスの代わりにサービスアカウントのクレデンシャルを入力します。
  4. 私は新しいウェブサイトを作成しませんでした。私の場合、既定のWebサイトの下に仮想ディレクトリを作成し、コピーしたWCFフォルダーをポイントします。
  5. 仮想ディレクトリが作成されたら、それを右クリックして[プロパティ]を選択します。以下は、各タブの設定です

    [仮想ディレクトリ]タブ

    • [作成]ボタンをクリックして、アプリケーション名を作成します。
    • 実行権限で「スクリプトのみ」を選択します。
    • 作成したAppPoolを選択します。
    • [適用]ボタンをクリックして変更を保存します。

    [ドキュメント]タブ

    • 新しいコンテンツを追加します-WCF.svcファイルの名前。
    • [適用]ボタンをクリックして変更を保存します。

    [ディレクトリセキュリティ]タブ

    • 認証とアクセス制御の[編集]ボタンをクリックします。
    • ユーザー名とパスワードをサービスアカウントのクレデンシャルで変更します。
    • [OK]をクリックします(再確認が必要な場合は、パスワードをもう一度入力します)。
    • [適用]ボタンをクリックして変更を保存します。

    ASP.Netタブ

    • 4.0.30319バージョンを選択します(.net Framework 4.0が必要な場合)
    • [適用]ボタンをクリックして変更を保存します。
  6. 次に、[コンピューターの管理]>[システムツール]>[ローカルユーザーとグループ]>[グループ]に移動します。

  7. IIS_WPGグループを開き、サービスアカウントを追加します。

  8. 次に、[スタート]>[管理ツール]>[ローカルセキュリティポリシー]に移動します

  9. [セキュリティ設定]>[ローカルポリシー]>[ユーザー権利の割り当て]を展開します。Log on as serviceを検索し、そこにサービスアカウントを追加します。

  10. 最後に、C:\ WINDOWS\Tempフォルダーに移動します。それを右クリックして、[プロパティ]を選択します。[セキュリティ]タブをクリックして、サービスアカウントを追加します。

  11. 特別な権限を設定するには、[進む]ボタンをクリックします。

  12. サービスアカウントを選択し、[編集]ボタンをクリックします。権限のリストで、「フォルダの一覧表示/データの読み取り」と「削除」の権限のみにチェックマークを付けるか、チェックします。[OK]と[適用]ボタンをクリックして、変更を適用します。メッセージボックスでプロンプトが表示されたら、[はい]をクリックしてサブフォルダに適用します。

  13. さて、最後の瞬間。アプリプールが実行されていることを確認します。ブラウザでWCFをテストしてから、WCFテストクライアントでテストします。

    1. 私の場合、それは完全に機能しています:)

これがお役に立てば幸いです...

于 2014-12-26T09:43:07.110 に答える