ここでは、メッセージ ログに表示される機密データだけでなく、メッセージ ログによって生成されるイベントを保護する方法についても説明します。 セキュリティに関する注意事項 機密情報のログ記録 Windows Communication Foundation (WCF) では、アプリケーション固有のヘッダーおよび本文内のデータを変更することはありません。 また、WCF では、アプリケーション固有のヘッダーまたは本文データにある個人情報も追跡しません。 メッセージのログ記録が有効になっていると、アプリケーション固有ヘッダー内にある個人情報 (クエリ文字列など)、および本文情報 (クレジット カード番号) がログ内で確認できるようになります。 アプリケーションを配置するユーザーは、構成ファイルとログ ファイルに対するアクセス制御を実施する必要があります。 この種の情報を表示しないようにするには、ロ
Windows Communication Foundation (WCF) WEB HTTP プログラミング モデルには、WCF での WEB HTTP サービスの構築に必要な基本的な要素が用意されています。 WCF WEB HTTP サービスは、Web ブラウザーを含む幅広いクライアントからアクセスできるように設計されており、次のような固有の要件があります。 URI および URI 処理: URI は、WEB HTTP サービスのデザインで中心的な役割を果たします。 WCF WEB HTTP プログラミング モデルでは、UriTemplate および UriTemplateTable クラスを使用して、URI 処理機能が提供されます。 GET と POST 操作のサポート: WEB HTTP サービスでは、データ変更やリモート呼び出しに必要なさまざまな起動用の動詞に加えて、データ取得に
重要 一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。 public ref class ServiceMetadataBehavior : System::ServiceModel::Description::IServiceBehavior public class ServiceMetadataBehavior : System.ServiceModel.Description.IServiceBehavior type ServiceMetadataBehavior = class interface IServiceBehavior Public Class ServiceMetadataBehavior Implements ISe
例 サービス クラスに対して InstanceContextMode を設定する方法を次のコード例に示します。 // Service class which implements the service contract. [ServiceBehavior(InstanceContextMode=InstanceContextMode.PerSession)] public class CalculatorService : ICalculator { public double Add(double n1, double n2) { return n1 + n2; } public double Subtract(double n1, double n2) { return n1 - n2; } public double Multiply(double n1, double n2) {
例 次のコード例は、Single、Reentrant、Multiple の使用の違いを示しています。 このサンプルは、実際の実装なしでコンパイルするのではなく、WCF が行うスレッド処理の種類と、それが操作コードに対して何を意味するのかを示しています。 using System; using System.ServiceModel; [ServiceContract] public interface IHttpFetcher { [OperationContract] string GetWebPage(string address); } // These classes have the invariant that: // this.slow.GetWebPage(this.cachedAddress) == this.cachedWebPage. // When you read
.NET Framework では、型に既定値の概念があります。 たとえば、参照型の既定値は null で、整数型の既定値は 0 です。 しかし、データ メンバーが既定値に設定されている場合は、シリアル化されたデータからそのデータ メンバーを省略することが望ましいことがあります。 それは、メンバーが既定値に設定されているために実際の値をシリアル化する必要がなく、パフォーマンスの点で有利だからです。 シリアル化されたデータからデータ メンバーを省略するには、EmitDefaultValue 属性の DataMemberAttribute プロパティを false に設定します (既定値は true)。 例 次のコードには、EmitDefaultValue が false に設定された複数のメンバーが含まれています。 [DataContract] public class Employee {
サービス ホストが一度に処理できるメッセージ数の上限を指定します。処理中の呼び出し数がこの値に達した場合、アクティブな呼び出しの 1 つが完了するまで、新しい呼び出しはキューに格納されます。このパラメーターに許容される値の範囲は、0 ~ Int32.MaxValue です。このパラメーターを 0 に設定することと、Int32.MaxValue に設定することは同じです。既定値は、コンピューター内のプロセッサ数の 16 倍です。 サービス内の InstanceContext オブジェクトの最大数を指定します。MaxConcurrentInstances プロパティと InstanceContextMode プロパティとの関係に常に注意してください。InstanceContextMode が PerSession の場合は、MaxConcurrentInstances の値はセッションの総数で
C#がメインで他もまぁ諸々なブログです おかしなこと書いてたら指摘してくれると嬉しいです(´・∀・`) つーかコメント欲しい(´・ω・`) [ インスタンス コンテキスト モード ] WCFでは、サービスのインスタンス化方式が3種類あります。 クライアント毎にサービスのインスタンスを生成 クライアントを識別しサービスのインスタンスを生成し、クライアントが一連の処理を終えるまで ( クライアントのサービス プロキシ オブジェクトがクローズするまで ) インスタンスを保持します。 要求毎にサービスのインスタンスを生成 サービスのメソッドが呼び出される度にサービスのインスタンスを生成します。一つのインスタンスは一度のメソッド呼び出しにしか使用されません。 シングルトン サービスのインスタンスは常に一つだけ存在し、すべてのクライアントの要求に対して同一のインスタンスが使用されます。 従来のASP.
ProtectionLevel プロパティは、ServiceContractAttribute クラス、OperationContractAttribute クラスなど、多くのクラスで使用されています。 このプロパティは、メッセージの一部または全体を保護する方法を制御します。 このトピックでは、Windows Communication Foundation (WCF) の機能とそのしくみについて説明します。 保護レベルの設定手順については、「方法 : ProtectionLevel プロパティを設定する」を参照してください。 基本 保護レベル機能には、次の基本的な原則が適用されます。 メッセージのどの部分の保護にも、3 つの基本レベルがあります。 このプロパティは、必ず、ProtectionLevel 列挙値の 1 つに設定されます。 以下に、これらの値を保護の弱いものから順に示します。
適切な属性を適用してプロパティを設定することで、保護レベルを設定できます。 サービス レベルですべてのメッセージのすべての部分に影響する保護を設定したり、メソッドからメッセージ部分まで、段階的にきめ細かなレベルで保護を設定したりすることができます。 ProtectionLevel プロパティの詳細については、「保護レベルの理解」を参照してください。 サービスのすべてのメッセージに署名するには サービス用のインターフェイスを作成します。 次のコードに示すように、ServiceContractAttribute 属性をサービスに適用し、ProtectionLevel プロパティを Sign に設定します (既定のレベルは EncryptAndSign)。 // Set the ProtectionLevel on the whole service to Sign. [ServiceContr
3. C:コントラクト=「What」 ■3-1. サービス・コントラクトおよびオペレーション・コントラクト コントラクトとは、サービスとして何が提供されているのか(=クライアントから見るとどのサービスを利用したいのか)、また交換すべきデータは何なのか(=データのスキーマはどのようになっているのか)、といったようなものを定義することになる。 サービスおよびそのサービスが提供するオペレーションのコントラクトの定義は、ソース・コード上で属性(Attribute)を用いて記述される。例えば下記のコードの場合、MyServiceクラスにはServiceContract属性が付与されており、サービス・コントラクトの実装クラスとして定義されていることが分かる。 また、そのクラス内に実装されているGetDataメソッドにはOperationContract属性が付与されており、つまりこのメソッドがサービス
Windows Communication Foundation (WCF) には、アプリケーションのパフォーマンス測定に役立つ多数のパフォーマンス カウンターが備わっています。 パフォーマンス カウンターの有効化 次のように、WCF サービスの app.config 構成ファイルを使用して WCF サービスのパフォーマンス カウンターを有効にできます。 <configuration> <system.serviceModel> <diagnostics performanceCounters="All" /> </system.serviceModel> </configuration> 特定の種類のパフォーマンス カウンターを有効にするよう performanceCounters 属性を設定できます。有効な値は次のとおりです。 All : すべてのカテゴリ カウンター (Service
ここでは、キューから読み取るサービスをクライアントがアドレス指定するしくみと、サービス エンドポイントがキューにマップされるしくみについて説明します。 確認のために、次の図は、従来の Windows Communication Foundation (WCF) のキューに置かれたアプリケーションのデプロイを示しています。 クライアントは、メッセージをサービスに送信するために、メッセージをターゲット キューにアドレス指定します。 サービスは、キューからメッセージを読み取るために、リッスン アドレスをターゲット キューに設定します。 WCF でのアドレス指定は URI (Uniform Resource Identifier) ベースですが、メッセージ キュー (MSMQ) のキュー名は URI ベースでありません。 そのため、MSMQ で作成されたキューを、WCF を使用してアドレス指定する
このブラウザーはサポートされなくなりました。 Microsoft Edge にアップグレードすると、最新の機能、セキュリティ更新プログラム、およびテクニカル サポートを利用できます。 キューに置かれたメッセージは、配信に失敗する可能性があります。 配信に失敗したメッセージは、配信不能キューに記録されます。 配信の失敗は、ネットワーク エラー、キューが削除されている、キューがいっぱいになっている、認証エラー、配信が時間どおりに行われなかったなど、さまざまな理由で生じる可能性があります。 キューに置かれたメッセージは、受信側のアプリケーションでタイムリーに読み取られないと、長時間キューに残ることがあります。 時間依存のメッセージでは、このような動作が適切でない場合があります。 時間依存のメッセージでは、メッセージをキューに格納しておくことができる期間を示す TTL (Time to Live)
従来のオブジェクト指向、およびコンポーネント指向プログラミング モデルでは、クライアントがメソッドを呼び出す方法は 1 つしかありません。つまり、クライアントが呼び出しを発行し、そのクライアントは、呼び出しが処理されている間ブロックされ、メソッドが戻ると実行を続行します。Windows Communication Foundation (WCF) には、この従来の呼び出しモデルの他に、2 種類の操作に対するサポートが組み込まれています。1 つは、発行するだけの操作の一方向呼び出しです。もう 1 つは、サービスがクライアントにコールバックする、双方向コールバックです。 既定で、Windows Communication Foundation の操作は、要求と返信として考えられます。つまりクライアントは、要求をメッセージの形で発行し、返信メッセージを取得するまでブロックされます。既定のタイムア
Important WCF Data Services has been deprecated and will no longer be available for download from the Microsoft Download Center. WCF Data Services supported earlier versions of the Microsoft OData (V1-V3) protocol only and has not been under active development. OData V1-V3 has been superseded by OData V4, which is an industry standard published by OASIS and ratified by ISO. OData V4 is supported t
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く