7

フォーム データを WCF ベースのサービスに受け入れる必要があります。インターフェースは次のとおりです。

[OperationContract]
[WebInvoke(UriTemplate = "lead/inff",
    BodyStyle = WebMessageBodyStyle.WrappedRequest)]
int Inff(Stream input); 

実装は次のとおりです (サンプル - エラー処理やその他の保護手段はありません)。

public int Inff(Stream input)
{

    StreamReader sr = new StreamReader(input);
    string s = sr.ReadToEnd();
    sr.Dispose();

    NameValueCollection qs = HttpUtility.ParseQueryString(s);
    Debug.WriteLine(qs["field1"]);
    Debug.WriteLine(qs["field2"]);

    return 0;
}

WCF を想定すると、着信ストリームを解析する以外にこれを達成するためのより良い方法はありますか?

4

2 に答える 2

5

これについて DevLink であなたに話したのを覚えています。

フォームフィールドをサポートする必要があるため、それらを取得するメカニズム (現在行っていること) は変わりません。

特にフォームフィールドを必要としない新しいアプリケーションにサービスを再利用したい場合に役立つかもしれないことは、ストリームを分解して XML/JSON/SOAP/Whatever に再パッケージ化し、フォームクライアントを持つチャネルを作成することですそれを介してサービスと通信しますが、フォームを使用しないクライアントは別のチャネル スタックを使用できます。ただのアイデア...

それが役立つことを願っています。チャンネルについてサポートが必要な場合は、お気軽にお知らせください。

于 2008-10-04T14:15:54.090 に答える
0

フォーム フィールドを jquery でシリアル化し、wcf サービスへの json リクエストとしてパッケージ化できます。

于 2012-04-03T16:10:44.077 に答える