0

サイトの IIS 7.0 でホストされているユーティリティ Web サービスがあります。このサービスはデスクトップ クライアントによって消費されます。これはユーティリティ サービスであるため、ユーザーは資格情報を入力せずにアクセスできる必要があるため、認証の種類はAnonymousIIS で に設定されています。

ここでの問題は、サービスの URL がパブリックにアクセス可能であり、それを Web ブラウザーに入力すると、ユーザーが次のページに誘導されることです。

ここに画像の説明を入力

これは潜在的に危険な可能性のある有用な情報をユーザーに提供しませんが、パブリック アクセスからページを隠すことができればなお良いでしょう。ユーザーがこのページにアクセスできないようにしながら、サービス自体を公開する方法はありますか? IIS 7 で URL リダイレクトが有効になっていることは知っていますが、サービス参照を追加するときに VS から送信される要求が、URL を入力するときに Web ブラウザーから送信される要求と実際に異なるかどうかはわかりません。どんな助けでも大歓迎です。

編集

コメント セクションで説明されているオプションは、ChannelFactory実行時に を作成してサービスにアクセスすることですが、それにはコントラクトをクライアントに公開する必要があり、これを回避しようとしています。

4

1 に答える 1

1

無効にしたいのはHTMLページだと思います。要素を使用してそれをServiceDebug行います。

<system.serviceModel>
    <behaviors>
        <serviceBehaviors>
            <behavior>
                <serviceDebug httpHelpPageEnabled="false" />
            </behavior>
        </serviceBehaviors>
    </behaviors>
</system.serviceModel>

編集: WSDL を無効にするには:

<serviceMetadata httpGetEnabled="false" />
于 2013-07-03T21:05:55.047 に答える