2

Webアプリケーション(asp.net 4.0 / C#)を介してIIS7で動作しているWebサイトにホストヘッダーを追加したい。インターネットにはいくつかの例がありますが、それらのほとんどはiis7では動作しないと思います。(注:Webアプリケーションは同じサーバーでホストされているため、IIS構成の変更中にセキュリティの問題は発生しないと思います)

どんな助けでもありがたいです、ありがとう

4

2 に答える 2

3

私はこの解決策を見つけました、そしてそれは私のために働きます。これはいくつかのパラメータを持つ小さな関数です、あなたはあなたのiss設定であなたのウェブサイトのIDを見つける必要があります。その後あなたはサーバーのIPアドレスを与える必要があります(iis)、そしてポート番号とホスト名を関数に追加すると、入力したパラメーターを使用してホストヘッダーが追加されます。たとえば、

AddHostHeader(2、 "127.0.0.1:81"、81、 "newsHostHeader");

  static void AddHostHeader(int? websiteID, string ipAddress, int? port, string hostname)
    {
        using (var directoryEntry = new DirectoryEntry("IIS://localhost/w3svc/" + websiteID.ToString()))
        {
            var bindings = directoryEntry.Properties["ServerBindings"];
            var header = string.Format("{0}:{1}:{2}", ipAddress, port, hostname);
            if (bindings.Contains(header))
              throw new InvalidOperationException("Host Header already exists!");
            bindings.Add(header);
            directoryEntry.CommitChanges();
        }
    }

(注:System.DirectoryServicesを使用してページに追加することを忘れないでください; Microsoft.Web.Administrationを使用して;)

于 2012-04-24T12:42:32.560 に答える
0

上記の解決策は、私にとってIIS7.5ではうまく機能しませんでした。私は最終的にこれをしなければなりませんでした http://www.iis.net/configreference/system.applicationhost/sites/site/bindings/binding

于 2013-03-09T16:45:58.903 に答える