0

30分ごとにアクションを実行し、特定の条件が満たされた場合に電子メールを送信する必要があるASP.NETアプリケーションを作成しています。[LocalOnly]属性を使用してそのアクションに投稿するプログラムを実行するために、サイトをホストしているシステムでWindowsタスクをスケジュールしています。これは、http:// localhost:[Port] / [Controller] / [Action]にリクエストを送信できるため、開発中にテストする場合に最適です。ただし、サイトをデプロイすると、リクエストにパブリックドメイン名を使用すると、インターネット経由でルーティングされます。つまり、IPがローカルではなくなり、アクションが失敗します。

このリクエストをローカルで送信する方法はありますか?サイトのパブリックドメイン名やIPの代わりに使用できるローカルホストアドレスを見つける方法があることを願っています。

...または、30分ごとにメールを送信するためのより良い方法はありますか?

4

1 に答える 1

0

これを行うには、IISの展開サーバーに一意のポートバインディングを作成します。

このポート番号を、実行しているサービスのある種の構成に保存します(または、コマンドラインパラメーターとしてスケジュールされたタスクに渡します)。

http://127.0.0.1:[PortThatWasPassedIn]/[Controller]/[Action]への呼び出しを更新します。

これがお役に立てば幸いです、乾杯。

于 2012-04-22T03:17:18.103 に答える