私は、30分ごとにアクションを実行し、特定の条件が満たされた場合に電子メールを送信する必要のあるASP.NETアプリケーションを作成しています。私は、[LocalOnly]属性でそのアクションに投稿するプログラムを実行するために、サイトをホストするシステム上でスケジュールされたWindowsタスクを取得しています。これは、http:// localhost:[Port]/[Controller]/[Action]にリクエストを送信するだけで済むので、開発中にテストしているときには素晴らしいことです。しかし、いったんサイトを展開すると、要求にパブリックドメイン名を使用するとインターネット経由でルーティングされます。つまり、IPはローカルではなくなり、処理が失敗します。複数のWebサイトをホストするシステムでlocalhostアドレスを見つける方法
このリクエストをローカルに提出する方法はありますか?サイトの公開ドメイン名やIPの代わりに使用できるローカルホストアドレスを把握する方法がいくつかあると私は思っています。
...または30分ごとに電子メールを送信するより良い方法がありますか?
'localhost'は' 127.0.0.1'(IPv6が有効な場合は ':: 1')を指している必要があります。ホストが誤って構成されていない限り、間違いなくローカルアドレスにする必要があります。 – Piskvor
ええ、でも、それを使って私が望む1つのサイトにアクセスするにはどうすればいいですか?このサーバーは複数のホストを持ち、私が望むものに到達する方法を知らない。 –
そのアドレスにHTTPリクエストを送信し、 'Host:'ヘッダを目的のドメインに設定します。 – Piskvor