4

有没有办法从 WCF 数据服务中的服务操作方法返回文件,即 pdf 或 excel?

例如,假设我有以下带有单个服务操作的 WCF 数据服务。为简单起见,服务操作可以直接或使用 ServiceProvider 从文件中读取 pdf。

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 回答