0

Application_Start で開始する WCF 経由の甘い ASP.NET 4.0 UDP リスナーを作成しました。いつものように、私のローカル マシンではすべてがうまくいっています。VS Dev Environment を使用し、デバッグ時にどのページも開かないように設定しているローカル マシンでは、リスナーはまだ何も参照せずに開始されます。ただし、共有ホストにデプロイするときはいつでも、リスナーを開始する前に Web ブラウザー経由でサイトにアクセスする必要があります。IIS コントロール パネルにアクセスすることはできませんが、「Web サイト パネル」ソフトウェアを介して IIS に対して行うことができる制限付きの設定変更はいくつかあります。共有ホストは IIS 7.5 を使用していると思います。

自宅の PC からポーリング サービスを作成して共有ホストに HTTP 要求を頻繁に送信してリスナーを開始するよりも、これを解決するためのより良い方法はありますか?

要件

  • クライアントは、構成可能なポートを介して UDP パケットを送信します。クライアントが接続に使用する IP とポート以外は変更できません
  • 現時点では VPS を購入する余裕がないため、ソリューションは共有ホストで動作する必要があります。そうでなければ、Windows サービスを作成していたでしょう。WCF Application_Start を介してポーリング サービスを作成することで、以前にウィンドウ サービスを作成することを回避しましたが、ユーザーが表示する情報は Web ページ上にある必要があるため、application_start は常に呼び出されます。この場合、ユーザー/クライアントは必ずしも Web ページにアクセスしているとは限りません。

アイデア:

  • どういうわけかこれを .svc に取り込みます。そうすれば、クライアントが .svc にアクセスすると、他の全員のリスナーが開始されます。しかし、ポート 80 で実行されている .svc が UDP 呼び出しを受け入れるにはどうすればよいでしょうか? また、クライアントが複数の IP:PORT に接続できるかどうかもわかりません (URL.com/awesomeListener.svc のような .svc パスを受け入れるとは思いません)。

助言がありますか?どうもありがとう。

4

1 に答える 1

0

ASP.NET 4.0を実行している場合は、自動起動するように設定できます。これにより、Application_Startが起動します。

http://weblogs.asp.net/scottgu/archive/2009/09/15/auto-start-asp-net-applications-vs-2010-and-net-4-0-series.aspx

于 2012-08-12T21:02:16.230 に答える