2010-12-27 1 views
1

ポストバックを含む他のドメイン/ Webサイトへのプロキシ要求を制御することは可能ですか?コントロールは、PostBackを含む他のURLを盲目的にプロキシすることはできますか?

このコントロールでは、実行するURLを指定し、コントロールが実行されるたびに、この別のURLに対してGET要求を行い、HTMLを返すようにします。

しかし、ページがポストバックされているときは、そのポストバック変数がすべてそのままの状態でPOSTリクエストがこの他のページに送信されます。

私は本当に盲目のプロキシを探しています。受信したリクエストを受け取り、別のURLにスローして結果をレンダリングするコントロール。他のページには、人間とやりとりしていないということは分かりません。

私はこれを開発できると思っていますが、私はそれをやりたい最初の人になることはできないので、Googleが解決策を明らかにしていない理由がいくつかあります。私は同じアイデアを持っている誰もが同じ大きな問題に遭遇すると思う。

答えて

0

この目的のために、これは決して働く機会はほとんどありませんでした。私はしばらくそれを実験しましたが、ポストバックにはコントロールツリーに関する親密な知識が必要です。コールバックページから他のページへのポストバックを適用し、コントロールが正しくオーバーレイされるようにする方法はありません2つのページの間のツリーはまったく異なっています。

これで、バックエンドアプリケーションを従来のWebアプリケーション(ASP.Netにないものでも)として書きたいと思うようになりました。ポストバック中に、Request.Formの値を繰り返して送り返すことができ、バックエンドのアプリケーションでこれらの受信値を受け入れて対処できるようにすることができますが、これは伝統的なポストバックではありません。

0

私はこの値が何であるか正確には分かりません。これはおそらくあなたがまだ解決策を見つけていない理由です。

しかし、私には2つの解決策があるようです。

  1. ページがレンダリングされるときに、コントロールがフォームアクションを変更して他の場所を指すようにします。ポストバックで
  2. を指定した場合は、ポスト変数を使用して代替URLにWebリクエストを実行し、そのときの結果をどのように処理するかを決定します。
+0

私はこれを使って遊んでいました。実用的ではありません。問題は、ポストバックが機能しないことです。アイテムをポストすると、フィールド名がエンドポイントページなどとは異なる呼び出しページで異なります。 – Deane

+0

@Deane:.Net 4を使用している場合は、 ClientIdModeプロパティを使用して、.Netに通常のコンテナ名をすべて追加するのではなく、指定したIDを使用してコントロールをレンダリングするようにします。これは、コントロール、ページ、またはサイトレベルで機能します。 – NotMe

+0

真ですが、コントロールツリーは異なります。一番下の行は、プロキシコントロールを含む呼び出しページのポストバックが受信ページのポストバックと同じになることではないということです。したがって、ポストバックを一方から他方にプッシュしても、私が望む結果は得られません。 – Deane

関連する問題