1

2 つの質問がありますが、最初に準備をさせてください。

Web アプリケーションと中間層の Web サービスがある典型的なシナリオがあるとします。Web アプリケーションは、ユーザーからの要求を受け取り、Web サービスにクエリを実行し、ユーザーに応答を送信します。

Web サービスと Web アプリケーションが同じマシンで実行されている場合、Web アプリはlocalhost:portを介して Web サービスにアクセスします。

(AppHarbor Web およびバックグラウンド ワーカーが従来のマシンで実行されていないことは理解していますが、その比喩を使用する方が簡単です)

これを少し複雑にするために、Web サービスは実際には HTTP サーバーを実行するコンソール アプリであり、Web サービスとして機能します。これを webservice.exe と呼びましょう。

私の最初の質問は、AppHarbor が Web アプリケーションと同じマシンで webservice.exe を実行し、Web アプリケーションがlocalhost:port経由で Web サービスにアクセスできるようにするかどうかです。

そうでない場合、コンソール アプリが実行されているマシン名は常に静的になります (これにより、Web アプリは確実にmachinename:portにアクセスできます)。その場合、webservice.exe マシンは Web アプリケーション マシンからの着信接続を許可しますか?

2 つ目の質問は、両方のアプリが同じマシンで実行されている場合 (localhost シナリオ)、外部ユーザーはmyapp.apphb.com:port経由で webservice.exe にアクセスできるかどうかです。

ありがとう!!

4

1 に答える 1

0

AppHarbor は現在、ポートにアタッチするバックグラウンド ワーカー (コンソール アプリケーションが実行される場所) をサポートしていません。

代わりに、ASP.NET アプリケーションでサービスをホストし、AppHarbor 上の Web ワーカーで (通常の Web サイトとして) 実行することにした場合、myawesomeapplication.apphb.com で、または決定した場合はカスタム ホスト名を使用して利用できます。 1 つ追加します。

サービスの抽象化が不要な場合は、それをやめて、メインの Web サイトに組み込むこともできます。

于 2012-11-26T22:30:15.880 に答える