問題タブ [clienthttpstack]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
silverlight - Silverlightは、Firefoxで起動しないWCF呼び出しのイベントを完了しました
完了したイベントがWCFの長時間実行されている呼び出し(戻るまでに最大1.5分)で発生しないというこの問題があります。IE8では問題なく動作しますが、Firefox、Chrome、Safariでは動作しません。Fiddlerを見ると、結果が明らかに返されます。前述したように、IEでも問題なく機能するため、状況の側面は明らかに機能しています。
サンプルプロジェクトを使用して、かなりうまく絞り込むことができました。これは、ネットワークにブラウザースタックではなくクライアントHTTPスタックを使用しているためと思われます。
誰かがクライアントのhttpスタックで多くの経験をしたことがありますか、または以前にこのタイプの動作に遭遇したことがありますか?
そもそもIEでも同様のことが起こっていましたが、WCFサービスのクライアント側でタイムアウトを増やすことで解決しました。
私は運がなくてもウェブ全体を検索してきたので、どんな考えや提案も大歓迎です:(
乾杯、オラ
.net - SilverlightクライアントのHttpリクエストが応答をキャッシュしないようにするにはどうすればよいですか?
HttpWebRequest
作成元を使用してWebRequestCreator.ClientHttp.Create()
、Webサービスからデータをフェッチしています。そして、キャッシュされている呼び出しを見つけるまで、すべてが正常に機能しているように見えました。ClientHttpにキャッシュが含まれていないことはかなり確信していましたが、少し検索した後、次の小さなメモが見つかりました。
クライアントHTTP処理
- キャッシングサポート
http://msdn.microsoft.com/en-us/library/dd772166(VS.95).aspx#networking
これは、MSDNのSilverlight4ページの新機能です。しかし、それは私が見つけることができるほとんど唯一の情報です。ClientHttpがサーバーからのキャッシュなしヘッダーの尊重を要求すると主張する別の投稿を見つけましたが、Silverlightアプリケーションがサーバー側の設定に依存していないことを本当に望んでいます。
この問題の通常の修正は、各呼び出しにランダムなパラメーターを追加することですが、私は本当にもっと洗練された解決策を望んでいます。
上のキャッシュを簡単に無効にする方法はありClientHttpWebRequest
ますか?-グローバル設定ではなく、シングルコールで推奨されます。
silverlight - Silverlight ClientHttp WebRequest タイムアウト
ClientHttp スタックを使用して、バイナリ ストリームを提供する WebRequest を作成する Silverlight 4 アプリケーションがあります。次に、このストリームから読み取り、何かを行います。ただし、次の問題があります。サーバーは送信するデータをバッファリングするため、送信プロセスは send-pause-send-pause-send のようになります...
サーバーの一時停止が少し長く (約 20 秒) かかる場合があり、その時点で接続が切断されたように見えます。Silverlight では例外は発生しません。実際には、Web 応答ストリームからの読み取りが正常に終了した (つまり、データがなくなった) ように見えるコードです。ただし、サーバーは実際にはすべてのデータを送信しませんでした (一時停止後にさらにデータを取得する Silverlight 以外のアプリケーションからテストできます)。これは何らかのタイムアウトの問題である可能性があると考えています (これについて読んだところ、Silverlight で明示的に設定することはできません) が、タイムアウトを示す例外が発生しないのは奇妙です。また、一時停止はそれほど長くはありません.20秒が妥当な時間だと思います.
TCP トラフィックも調べたところ、一時停止した後、Silverlight が FIN メッセージをサーバーに送信しているように見えます。そのため、タイムアウトして接続を切断することを決定したように見えますが、実際にはタイムアウトを例外として報告したり、それを回避する方法を提供したりしません。
実際に何が起こっているのか、どうすればそれを防ぐことができますか?
ありがとう!
更新: 問題が見つかりました。システム全体の Web 要求のタイムアウト動作を制御するレジストリ キーがあり、一部のアプリはそれを 10 秒に設定し (Install Anywhere など)、それを元に戻すことを「忘れて」しまいます。キーはこれです: HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings\ReceiveTimeout
より大きな値に戻したところ、正常に動作するようになりました! H番目。
silverlight - ブラウザのhttpスタックを使用するSilverlightアプリは、サーバーの応答からカスタムhttpヘッダーを読み取ろうとします
サーバーと通信するためにブラウザーのHTTPスタックを使用しているSilverlightアプリに取り組んでいます(RESTfulサービス)。サーバーがこのアプリからのリクエストに応答するとき、サーバーはカスタムHTTPヘッダーを使用してクライアントに追加情報を提供します。
残念ながら、Silverlightアプリでこれらのカスタムヘッダーを抽出することはできません。カスタムヘッダーは、処理する前にブラウザのHTTPスタックによって削除されているようです。
これは既知の問題ですか?これらのカスタムHTTPヘッダーフィールドを読み取れるようにするために何かできることはありますか?
c# - ブラウザの Cookie を使用するように ClientHttp スタックを作成する方法はありますか?
ユーザーがすでにリモート システムにログインしているため、ユーザー名に関連付けられたセッションがあり、プライベート データにアクセスできるとします。HttpWebRequest
これで、 (ClientHttp スタック)を介してサーバーと通信しようとする Silverlight アプリケーションができました。ユーザー セッションを Silverlight アプリに渡す方法はありますか? どういうわけかブラウザとクッキーを共有しますか?
アップデート:
Web や SO には、HttpOnly Cookie をWebBrowser
コントロールからWebRequest
経由 に転送する方法を示すコード スニペットがありますInternetGetCookieEx
(例: Use a WebBrowser to login into a site that use HttpOnly cookie )。私がまだ理解していなかった2つのことは、これがブラウザーのSilverlightアプリで使用できるかどうか、およびSilverlightアプリが実行されているブラウザーからSilverlightアプリ自体にCookieを同様に転送できるかどうかです。