基本的に私がやりたいことは、wcf サービスへの要求が安全に行われたかどうかを調べることです。そして、私は次のコードを使用します。
context = OperationContext.Current;
bool isSecure = context.IncomingMessageHeaders.To.Scheme == Uri.UriSchemeHttps;
これはそれを行う適切な方法ですか?私が何を意味し、何を達成したいのか理解できない場合は、詳細を提供できます。
確認してもいいRequest.IsSecureConnection
MSDN のドキュメントを参照してください
接続が安全かどうかに応じて異なるロジックを実行するので、確認したいと思います。
この場合、私は別のアプローチを取ります。サービス コードをチェックインして制御フローを切り替えるのではなく、さまざまなエンドポイント動作でさまざまな論理フローを実装することを検討できます。1 つを HTTP エンドポイント用に構成し、もう 1 つを HTTPS エンドポイント用に構成します。
これは、操作コンテキストをチェックするアプローチがよりテストしやすくなるというより良いカプセル化のように感じます。