IIS7で動作しているWebアプリケーション(asp.net 4.0/C#)を使用してWebサイトにホストヘッダーを追加したいのですが、私はそれらのほとんどがiis7で仕事をしないと思う。 (注:私は、IISの設定を変更しながら、セキュリティ上の問題があると文句を言わないと思いますので、Webアプリケーションは、同じサーバにホストされている)IIS 7のWebサイトにプログラムでホストヘッダーを追加する
すべてのヘルプは高く評価され、感謝
IIS7で動作しているWebアプリケーション(asp.net 4.0/C#)を使用してWebサイトにホストヘッダーを追加したいのですが、私はそれらのほとんどがiis7で仕事をしないと思う。 (注:私は、IISの設定を変更しながら、セキュリティ上の問題があると文句を言わないと思いますので、Webアプリケーションは、同じサーバにホストされている)IIS 7のWebサイトにプログラムでホストヘッダーを追加する
すべてのヘルプは高く評価され、感謝
私はこの解決策を見つけ、それが私の作品これはいくつかのパラメータを持つちょっとした関数です。ちょうどissコンフィグレーションでyourwebsiteの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を使用して;)
がSystem.DirectoryServices.DirectoryEntry.BindでスローアップするWindows 8のIIS 7.5の のSystem.Runtime.InteropServices.COMExceptionが発生した –
資格情報の設定を確認する必要がありますか?IUSRユーザーがWebサイトにヘッダーを追加できないようですあなたのIISで。 – slayer35
エラー...最終的にはこれを使って完了しました http://www.iis.net/configreference/system.applicationhost/sites/site/bindings/binding –
上記の溶液は非常に仕事をしませんでした私のためにIIS7.5と。 私は最終的にこの http://www.iis.net/configreference/system.applicationhost/sites/site/bindings/binding
この質問はあなたを助けるかもしれないしなければならなかったhttp://stackoverflow.com/questions/5121383/iis-7-0-vs-7-5-site-microsoft-web-administration-site -bindingcollection –
私はあなたが十分明確ではないと思います。詳細をお知らせください。バインディングを追加/変更しますか? – Tomek