問題タブ [webhttpbinding]

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.

0 投票する
1 に答える
2440 参照

wcf - ストリーミングされた webHttpBinding はストリーミングされません

大きなファイルをアップロードするための WCF REST サービスを作成する必要があります。エンドポイントをストリーミング webHttpBinding にしましたが、ストリーミングになりません。

サービス例:

Web.config:

クライアントコード:

メソッド UploadFile のコードは、requestStream.Close() が呼び出された後にのみ呼び出されます。なんで?

0 投票する
1 に答える
1840 参照

wcf - Asp.net セッションが WCF WebHttpBinding で動作しないようです

WCF REST json サービス (WebHttpBinding) を実行しています。純粋な WCF セッションはこの種のバインドでは機能しないため、asp.net セッションを使用しています。したがって、次のように設定します。

私たちのweb.configで、そして:

サービスの実装に加えて。次のようないくつかのサービス方法があります。

次に、各メソッドで HttpContext の sessionId をテストします。

問題は、常に変化していることです。Web ブラウザーでOpenSession?userName='toto'を呼び出し、その直後にGetSomething?somethingId=1234を呼び出すと、セッション ID が変更されます。

Cookie が wcf によって適切に処理されていないようです。フィドラーで OpenSession メソッドを呼び出すと、http ヘッダーで、サービスから返される「Set-Cookie」がありません。

0 投票する
1 に答える
1411 参照

jquery - json.net を使用して JSON を JScript に返す最良の方法

WCF を使用して JSON を返しているwebHttpBindingので、一部のグリッドで JQuery を使用できます。今日、私はデータベースにクエリを実行し、DataTableバックを取得し、Linq を使用してList<DTO>必要なフィールドを入力し、それを使用してシリアル化しSerializeObjectて、クライアントに文字列として返すことができるようにします。以下は、実装のスニペットです。

インターフェイス側の構成は次のとおりです。

戻り値は、parseJSON を使用して解析する必要がある JSON 文字列です。

これは、JScript クライアント側で使用される JSON 結果を返すための最良/正しい方法ですか? 文字列以外のものを返し、解析を回避する方法はありますか?

編集

クライアント側では、ASP.NET Web フォームではなく MVC3 を使用しています。Tks

0 投票する
1 に答える
600 参照

c# - WebHttpBindingを使用してSQLoverHTTPから表形式データを送信するための絶対最速の方法

WCFエンドポイントを使用してHTTP経由でSQL表形式データを送信する最速の方法は何でしょうか?

現在、ESQLを使用してEntity Frameworkにクエリを実行し、DataTableの結果をbyte []に​​シリアル化して送信し、もう一方の端で逆シリアル化しています。これは遅いようです。現在、シリアル化されたデータのサイズは、15000行以上で約4000バイトになります。私もODataServicesを試しましたが、それもかなり遅かったです。

最速だと思うJSONとは対照的に、1048行のSQL行のみを含むJSONファイルはほぼ200000バイトになります。データのサイズとHTTPを介した転送速度との間に直接的な相関関係はありますか?(直感的に思えますが、私は前向きではありません)。

最速のフォーマットは何でしょうか?SQLDataReaderを使用してJSONに移行し、JSONを送信することを考えています。これはうまくいくはずですが、よくわかりません。これは、データ同期のみを目的としています。

ありがとう。

編集 もう少しトレースしました、私の最初の測定のいくつかが間違っていたようです。以下のそれぞれの方法をミリ秒単位で参照してください。

2011年7月11日月曜日午後6時42分23秒::関数「逆シリアル化」期間。経過:481ミリ秒

2011年7月11日月曜日午後6時42分23秒::関数'HttpRequest'期間。経過:4776ミリ秒

2011年7月11日月曜日午後6時42分22秒::DataTableの長さ(バイト)=13047247バイト

上で参照したDataTableには約7000行が含まれていましたが、急勾配のようですよね?

0 投票する
1 に答える
1302 参照

c# - AJAX サービスから大きな JSON ファイルを返す - WCF

JSON を返す AJAX ベースの WebGet メソッドがあります。数千行の JSON 結果では機能しません (100 行程度しか取得しない場合は機能します)。Firebug コンソールに情報が表示されずに、ブラウザーが停止するだけで何も起こらないことに気付きました。

そして、これが私のWCFのサーバー側構成です。

これは、私が適用している webHttpBinding 構成です。

そして、ここに endpoing 動作があります:

すべてが限界に達しているように見えますが、うまくいくはずですが、何が欠けているのでしょうか?

0 投票する
2 に答える
1415 参照

wcf - Accessing the HTTP headers from a WCF Service

I need to access the HTTP response headers that are to be returned to the client from a WCF Service. Accessing the HTTPContext is easy(through HttpContext.Current.Response), but what is the event/extension/behavior that is executed lastly, when the StatusCode is already set (for ex. if the status is 500)?

EDIT: Message Inspectors don't seem to be a good solution here, because at the time they run, the status code isn't set yet. (At least in my trial that was the case)

0 投票する
2 に答える
2145 参照

wcf - WCF は netTcpBinding を見つけることができません

webHttpBinding と netTcpBinding の両方からアクセスできる WCF サービスを作成しようとしています。Java クライアントを介して webHttpBinding にアクセスできるようにすることに成功しました。現在、netTcpBinding を機能させるために取り組んでいます。

このように構成をセットアップしました。

同じソリューションで、netTcpBinding に接続したいテスト アプリケーションがあり、[サービス参照] を右クリックして [サービス参照の追加...] を選択しました。「Discover」をクリックすると、サービスが見つかります。

「http://localhost:8732/Design_Time_Addresses/MR_Jukebox_Service」のダウンロード中にエラーが発生しました。リクエストは HTTP ステータス 404: Not Found で失敗しました。メタデータに解決できない参照が含まれています: 'http://localhost:8732/Design_Time_Addresses/MR_Jukebox_Service'。メッセージを受け入れることができるhttp://localhost:8732/Design_Time_Addresses/MR_Jukebox_Serviceでリッスンしているエンドポイントがありませんでした。これは、多くの場合、アドレスまたは SOAP アクションが正しくないことが原因です。詳細については、InnerException (存在する場合) を参照してください。リモート サーバーがエラーを返しました: (404) 見つかりません。現在のソリューションでサービスが定義されている場合は、ソリューションを構築して、サービス参照を再度追加してみてください。

しかし、netTcpBinding へのサービス参照を作成するために netTcpBinding を表示することもできません。

おそらくかなり単純なことなので、誰かが私が間違っていることを見ることができるかどうか疑問に思っていましたが、WCFの経験が不足しているため、気づいていません。

事前に助けてくれてありがとう。

0 投票する
2 に答える
1885 参照

wcf - Windows サービス (webHttpBinding 経由) でホストされている WCF シングルトン内のタイマーが予期せず停止する

Windows サービス (ローカル システムで実行) でホストされている WCF サービスがあります。その中で System.Timer を実行しています。Timer を初期化するOperation o1は、webHttpBinding を介して http エンドポイントで宣言されます。System.ServiceModel のトレースを有効にし、.svcLog ファイルから操作 o1 のリッスン期間を確認しました。約 20 時間実行した後、http エンドポイントでのリッスンが停止したことを示しています。

これは、着信メッセージがそのエンドポイントに到着しなかったためだと思います。ここでの問題は、リスニングが停止することであり、タイマー (その特定の操作o1内で初期化されたもの) も停止します!

リスナー、つまりタイマーを長時間維持するための推奨される方法はありますか? o1 操作を定期的に ping してメモリに保持できますか?

また、オペレーション o1 内で初期化するタイマー変数はインスタンス変数ですが、この変数はリスナーが閉じてもメモリ内にあると予想されません (WCF はシングルトンです)。

本当にありがとう。

コードの抜粋-


編集:System.Timers名前空間からSystem.Threading名前空間に変更し、時間間隔を長くすると、修正されました。タイマー変数はもう消えません。

0 投票する
2 に答える
4500 参照

c# - WebHttpBindingを使用してWCFサービスの「app.config」を定義する

MessageContractを使用せずにファイルをアップロードできるWCFサービスがあります。

StreamオブジェクトはUriTemplateの一部であるため、Streamオブジェクトの横にある別のパラメーターを使用できます。サービスはマネージドWindowsサービスとして実行されるため、ServiceHostを手動で開始する必要があります。

これらすべてで、サービスが起動し、正常に機能します。ただし、上記の一部をapp.configファイルに移動したかったのです。これを行うために、の2行目をコメントアウトし、OnStart1行目を。に置き換えましたFileServiceHost = new ServiceHost(typeof(FileService))。次に、その情報をapp.configに追加しました...

そして突然、サービスが起動できなくなります。FileServiceHost.Openメソッドの次の例外をスローしますOnStart。「オペレーションUploadFileのリクエストをストリームにするには、オペレーションにStreamというタイプの単一のパラメーターが必要です。」

app.configでサービスを定義する方法に何か問題があるはずです。そこからサービスを削除すると、すべてが正常に機能するからです。私はここで何が間違っているのですか?

0 投票する
1 に答える
609 参照

erlang - セッション PID と JID を使用して SID を抽出する

で使用できるように、PID と JID を使用して bosh セッション (ejabberd) の SID を抽出する方法を見つけようとしてejabberd_sm:unset_presenceいます。どこでも検索しましたが、それを行う方法が見つかりません。

基本的に、私は Ejabberd と Strophe を使用してチャット システムを構築しました。私が達成しようとしているのは、ユーザーが 1 つのページでオフライン ボタンを押したときに、その JID に関連付けられているすべてのセッションをオフラインにする必要があるというejabberd_sm:get_session_pidことです。 t SID を抽出する方法を見つけます。私も試しSID ! Disconnectましたが、それは私が望まないユーザーを完全に切断します。

誰かがこの種の作業を行った場合は、私を助けてください。そのようなことを実装するための他のアイデアも大歓迎です。

ありがとう