2

.net (WCF) Rest Full Web サービスでバイナリ ファイルを公開することは可能ですか。

次のように、残りのリソースとして利用できるバイナリ ファイルを Web サーバーに置きたいと思います。

.../api/firmware_2_0

私のWebサービスクライアントは「取得」できました。

これは可能ですか、そして誰がそれを行うことができますか?

私は Restful Web サービスを使用して、データベースからのデータの JSON 表現を提供することに精通していますが、バイナリ ファイルは提供していません。

4

1 に答える 1

7

ほとんどの場合、IIS を使用してファイルを提供する必要があることに同意しますが、RESTful WCF サービスを介して生のバイナリを実際に公開したい場合があります。

http://blogs.msdn.com/b/carlosfigueira/archive/2008/04/17/wcf-raw-programming-model-web.aspxから、

[OperationContract]
[WebGet(UriTemplate = "?url={uri}")]
public Stream GetBinary(string uri)
{
    var binary = new byte[0]; // some sort of query
    var mimeType = ""; // some sort of query
    WebOperationContext.Current.OutgoingResponse.ContentType = mimeType;
    return new MemoryStream(binary);
}

これを行うと、WCFのフォーマットを完全にバイパスしていることに気付きます。そのため、xml/json のラッピングは一切ありません。

于 2012-09-08T18:12:53.530 に答える