問題タブ [servicebehavior]
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.
c# - IServiceBehaviorの実装はServiceBehavior属性に影響しますか?
WCFサービスがあります。ServiceContractを実装するクラスにIServiceBehaviorを実装する必要があります。そのクラスには、サービスの動作を指定するいくつかの属性があります。IServiceBehaviorを実装した後も、属性で指定された動作が引き続き適用されるかどうかを確認したいと思いました。
基本的には
と同じ意味
同じことで、私はまだ持っていることを意味しますServiceBehavior(InstanceContextMode = InstanceContextMode.Single, ConcurrencyMode = ConcurrencyMode.Multiple)
。
IServiceBehaviorの実装は次のとおりです。
中央のエラー処理を実装したいだけで、他の方法でサービスの動作を変更したくありません。
手伝ってくれてありがとう。
.net - InstanceContextMode.Single WCFサービスが複数のエンドポイントを公開する場合、インスタンスはいくつ存在しますか?
エンドポイントの数に関係なく、設定は単一のインスタンスをServiceBehavior
設定しますか?InstanceContextMode.Single
wcf - web.configのWCFサービスdataContractSerializermaxItemsInObjectGraph
ホストのweb.configでdataContractSerializermaxItemsInObjectGraphを指定する際に問題が発生します。
上記は私のデータプルには影響しません。大量のデータが原因でサーバーがタイムアウトします。
ただし、コードで最大制限を指定することはできますが、それは機能します
web.config設定でこれを機能させることができない理由を誰かが知っていますか?将来の更新が簡単になるように、web.configを保持したいと思います。
c# - WCFサービスセッションを無期限に永続化するように指定する
私はWCFを初めて使用するので、これは別の方法で行うのが最適な方法かもしれません。
現在、WCFサービスのコレクションがありますが、毎週電子メールを送信する機能を組み込みたいと思っています。これを行うために、次のコードを使用して別のWCFサービスを構築しました。
無効になり始め、aspxページから有効にします。テストのために、これを10分間隔で動作させることができましたが、間隔を15分に設定するとどこかで壊れているようです。
私には、WCF Serivceセッションが非アクティブから期限切れになっているように見えます。これは、タイマーがちょうど停止する理由を説明します。aspxページからタイマーを有効にして終了し、タイマーサービスが持続するように、WCFサービスの有効期間を指定する方法はありますか?タイムアウト値の設定に関する情報を見てきましたが、これが当てはまるかどうかはまだわかりません。
wcf - WCF メソッドは、オブジェクト グラフの最大項目数が '65536' であるという例外をスローします
返されるオブジェクトが多すぎると、例外が発生します。
メッセージを逆シリアル化しようとしているときにフォーマッタが例外をスローしました: パラメータhttp://.../Contract:GetBlaBlaResultを逆シリアル化しようとしているときにエラーが発生しました。InnerException メッセージは、「オブジェクト グラフでシリアライズまたはデシリアライズできる項目の最大数は 65536 です」でした。オブジェクト グラフを変更するか、MaxItemsInObjectGraph クォータを増やしてください。'。詳細については、InnerException を参照してください。
私はそれを調べて、サーバー側の動作の下に追加しました:
そしてクライアント側では:
しかし、それは無視され、例外が発生し続けているようです。
問題は、XmlSerializer (要素の属性用) を使用することです。
ご覧のとおり、例外は dataContractSerializer を参照しています (上記で追加した構成も同様です)。
物事を台無しにするのは XmlSerializer ですか?
誰かアドバイスをお願いできますか?
どうもありがとう :)
wcf - メッセージのセキュリティを確認するときにエラーが発生しました
WCFサービスを呼び出そうとすると、「メッセージのセキュリティの確認中にエラーが発生しました」というメッセージが表示されます。
カスタム認証を削除しても、サービスは問題なく機能します。web.configで何を誤って構成したのかわかりません。任意の洞察をいただければ幸いです。
.net - Java初期化サーブレットに相当する.netはありますか?
Java初期化サーブレットに相当する.netはありますか?
私たちがそれにいる間、フィルターに相当しますか?
そして最後に、上記のもの(フィルター)が存在する場合、これらはWCFサービスへの要求が行われる前/後に実行できますか?
wcf - サービス内のすべての操作に既に適用している OperationBehaviors を置き換える ServiceBehavior を作成できますか?
このサービスのすべての操作で同じ OperationBehavior が必要になることはわかっています。操作を実行する前に、同じ機能を実行する ServiceBehavior を実装できますか?
私は現在持っています:
私はそれを置き換えたい:
AuthTokenValidation 属性内で、ApplyDispatchBehavior メソッドに次のコードがあります。
IServiceBehavior の ApplyDispatchBehavior メソッドを確認しましたが、現在呼び出されている DisppatchOperation にアクセスする方法がわかりませんでした。
これは ServiceBehavior を使用する適切な方法ですか、それとも OperationBehaviors に満足してこの機能を実装する必要がありますか?
wcf - ServiceBehaviorがコントラクトではなくサービスクラスの属性であるのはなぜですか?
ServiceBehaviorは契約ではなく、サービスクラスの属性である必要があると人々が指摘する場所をたくさん見つけましたが、これは間違いなく当てはまるようです。どうしてこれなの?
wcf - WCF-カスタムクレデンシャルとセキュリティトークン
私はWCF開発にかなり慣れておらず、フレームワークの学習中にいくつかの問題に遭遇しました。RESTとSOAPの両方をサポートする必要があるサービスAPIがあります。これまでのところ、これは特にWCF4とルーティングを使用して簡単に実装できます。
私は現在承認に取り組んでおり、「ApiKeyAuthorizationManager」と「ApiKeyAndTokenAuthorizationManager」という2つの新しいマネージャークラスを作成することで、AuthorizationManagerを拡張することができました。
私のサービスのほとんどは、ApiKey and Token(GUIDS)が存在する必要があります。最初に認証するときは、トークンを受け取るために有効なApiKeyとパスワードが必要です。
これまでのところ、承認マネージャーがクエリ文字列を調べてApiKeyやTokenを取得しているため、RESTは完全に機能しています。
したがって、たとえば、サービスURIは次のようになります。* http://api.domain.com/Service/Operation/ {someVariableValue}?ApiKey = GUID&Token = GUID
私の問題は、SOAPサービス呼び出しの承認にあります。私は少し調査を行い、実装する前に正しいことを確認したかったいくつかの結論に達しました。
カスタムクレデンシャルを使用してSOAPを承認するには、次のことを行う必要があります。
- カスタムサービストークンの作成(MSDN)
- カスタムSecurityTokenProvider、SecurityTokenAuthenticator、およびSecurityTokenSerializerを作成してWCFを拡張する(MSDN)
- カスタムAuthorizationPoliciesを作成してWCFを拡張する(MSDN)
私はこれについて正しい方向に進んでいますか?私のシナリオに合わせるには、これらすべての手順が必要ですか?2つのGUIDで構成されるクレデンシャルを検証するためのカスタマイズが非常に多いようです。
ありがとう!
[編集#1]
これは非常に難しい作業でした。カスタムクレデンシャルとセキュリティトークンはほとんど文書化されていません。質の高いブログ投稿自体を見つけることは、ほぼ不可能であることが証明されています。私はプラグを抜き続けており、実用的な解決策を手に入れるのにとても近いです。この投稿で説明されているのと同じ障害にぶつかったこともあります。
サービスにアクセスしてwsdlまたはmexを検出しようとすると、次のエラーが発生します。
何がこれを引き起こしているのかについて何か考えがあれば、私はいくつかの助けが欲しいです。
[編集#2]
Microsoftは、カスタムクレデンシャル/トークンのwsdlサポートを許可する方法を示すためにサンプルを更新したくないようです。 ここを参照してください。誰かがこれを機能させる方法を知っていますか?フレームワークを拡張する方法のドキュメントがない場合、フレームワークを拡張可能にすることのポイントは何ですか?!?
[編集#3]
以下の私のコメントで述べられているように...私は、UserNameSecurityTokenを使用してTransportWithMessageCredentialが正常に機能しています。残念ながら、私が計画したいくつかのより高度な機能を実装するとき、私のサービスはカスタムトークンを必要とすることになります。
私が答えとして探しているのは次のとおりです。
WSDLサポートでカスタムサービスのクレデンシャルとトークンをサポートするにはどうすればよいですか?
現在、Microsoftの例に従って、カスタムクレデンシャルは、ChannelFactoryを使用し、クライアントでカスタムバインディングを作成することによってのみ使用できます。私はむしろそれに対処したくありません。
この質問に答えられないままの場合、私はその恩恵を増やし続けます。これがすべて機能するようになったらすぐに、カスタムセキュリティソリューションの作成に必要なすべての手順に関するブログチュートリアルを作成します。