0

呼び出し元のWebサイトとは別のサーバーに存在するWCFサービスを作成しています。私が直面している問題は、ブラウザとサーバーからコンテキスト情報を取得することを中心に展開しています。

少し背景として、私が書いているアプリケーションは、カスタムWeb分析を収集するために呼び出されたサーバー上の単純なアセンブリとして存在し、Cookie、クエリ文字列情報、およびサーバー変数を取得するためにHttpContextに大きく依存していました。

私はこれらすべてをAJAX呼び出しを介してテキストとしてサービスに渡すことに辞任しましたが、私はそれを間違っているように感じずにはいられません。

この情報を私のサービスに渡すためのより良い方法はありますか?

アップデート:

そのため、元のアプリケーションを確認した後、別のアプローチを取ることにしました。現在のアセンブリは5つのCookieのみを参照しているため、おそらくそれらを取得して、これらの値とサービスを使用するために必要なサーバー変数の値を含むデータコントラクトを定義します。クエリ文字列全体を渡し、HttpRequestオブジェクトを作成してこれらの値にアクセスします。これは、アプリケーション全体でより頻繁に使用されるためです。

これらすべてをJSONラッパーでサービスに送信し、ビルダークラスを使用してサービスアプリケーションで分析オブジェクトを作成します。

これはより良い解決策だと思います-あなたはどう思いますか?

4

1 に答える 1

0

WCF サービスでOperationContext.Currentプロパティ (MSDN リンクはこちら) を使用して、着信要求の詳細を取得することをお勧めします。

参考文献:

  • 私はオンラインで掘り下げていましたが、このSO投稿は良いスタートを切りました(私は賛成しました!)。

  • このMSDN スレッドでは、 から Cookie を抽出する方法について説明していますOperationContext

お役に立てれば。これはまだ試していないので、動作を保証することはできません。

ps: このアプローチが機能する場合、 new にOperationContractはパラメーターがありません。

于 2012-08-09T16:40:05.490 に答える