4

Is there a way to return a file, ie a pdf or excel from a service operation method in a WCF Data Service?

For example, Lets say I have the following WCF Data Service with a single service operation. For simplicity the service operation can read the pdf from file either directly or using the ServiceProvider.

public class TheService : DataService<ServiceProvider>
{
    public static void InitializeService(DataServiceConfiguration config)
    {
        config.SetServiceOperationAccessRule("GetPdf", ServiceOperationRights.All);
        config.DataServiceBehavior.MaxProtocolVersion = DataServiceProtocolVersion.V2;
    }

        [WebGet]
        public ? GetPdf(string fileName)
        {
             byte[] byteArray = System.IO.File.ReadAllBytes(fileName);
        }
}
4

2 に答える 2

3

あなたはファイルのバイトを返し、受信者は、あなたが提供するメタデータ情報を考慮して、データを処理する方法 (つまり、適切な拡張子のファイルに保存するか、データベースなどに保存する) を知っている必要があります。データは単純なバイト配列にすることも、ストリーミングおよびバッファリング機能を使用することもできます。

簡単な答えはイエスです。

詳細な情報を提供していただければ、おそらくあなたが取り組んでいるものや特定の問題を抱えているものでさえ、最も具体的なヘルプを提供できます.現状では、これは簡潔な回答を求めているだけです.

于 2012-11-01T14:00:29.603 に答える
0

サービス操作を使用する別の理由がない限り、ストリーミング プロバイダー (WCF データ サービス)で説明されているように、ストリーミング プロバイダーを実装できます。次に、ファイルを取得することは、エンティティのプロパティにアクセスするのと同じです。

于 2012-11-03T01:16:43.470 に答える