Vb.net 从WCF获取PDF到WCF

Vb.net 从WCF获取PDF到WCF,vb.net,wcf,pdf,stream,Vb.net,Wcf,Pdf,Stream,好的,这是我的 在一台服务器上,承载在IIS中的WCF。这一个为驻留在同一服务器上的ASP.NET应用程序(主要是db调用)处理大量内容。在ASP应用程序中,有一个嵌入式iFrame,其中包含一个PDF文档查看器 在另一台服务器上,承载在Windows服务中的WCF。这一个处理来自第一个WCF的调用,并启动生成PDF文件的第三方文档程序。现在,我有一个虚拟的PDF文件放在C:\驱动器上玩 我的任务是:以某种方式在WCF#2中拥有一个函数,将PDF文档的副本返回到WCF#1,WCF#1将其保存到本

好的,这是我的

在一台服务器上,承载在IIS中的WCF。这一个为驻留在同一服务器上的ASP.NET应用程序(主要是db调用)处理大量内容。在ASP应用程序中,有一个嵌入式iFrame,其中包含一个PDF文档查看器

在另一台服务器上,承载在Windows服务中的WCF。这一个处理来自第一个WCF的调用,并启动生成PDF文件的第三方文档程序。现在,我有一个虚拟的PDF文件放在C:\驱动器上玩

我的任务是:以某种方式在WCF#2中拥有一个函数,将PDF文档的副本返回到WCF#1,WCF#1将其保存到本地ASP应用程序目录,以便嵌入式查看器可以向用户显示它

到目前为止,我已经尝试让WCF#2返回一个FileStream对象,但没有成功。我想这是WCF世界的一个大禁忌(我是一个noob)

我不知道如何做到这一点,我的大部分努力都是徒劳的。你会怎么处理?有人吗


谢谢

让WCF2获取PDF并将其作为字节数组返回:

   // fs is your FileStream
   byte[] Data = new byte[fs.Length];
   fs.Read(Data,0,fs.Length);
WCF1调用WCF2并读取字节数组,然后将其保存到磁盘

FileStream fs = new FileStream(fileName, FileMode.Create, FileAccess.ReadWrite);
BinaryWriter bw = new BinaryWriter(fs);
bw.Write(buff);
bw.Close(); 

让WCF2获取PDF并将其作为字节数组返回:

   // fs is your FileStream
   byte[] Data = new byte[fs.Length];
   fs.Read(Data,0,fs.Length);
WCF1调用WCF2并读取字节数组,然后将其保存到磁盘

FileStream fs = new FileStream(fileName, FileMode.Create, FileAccess.ReadWrite);
BinaryWriter bw = new BinaryWriter(fs);
bw.Write(buff);
bw.Close(); 
谢谢,杰森,我也做了类似的事。我想我会为下一个家伙发帖:

WCF#2:

WCF#1调用#2并将文件写入磁盘:

Sub Main
    Dim WCF As New ServiceReference1.Service1Client
    Dim ByteData As Byte()
    Dim oFileStream As System.IO.FileStream

    ByteData = WCF.GetPDF_Byte
    oFileStream = New System.IO.FileStream("C:\NewPDF.pdf", FileMode.Create)
    oFileStream.Write(ByteData, 0, ByteData.Length)
    oFileStream.Close()
End Sub
希望能帮助别人

谢谢,杰森,我也做了类似的事。我想我会为下一个家伙发帖:

WCF#2:

WCF#1调用#2并将文件写入磁盘:

Sub Main
    Dim WCF As New ServiceReference1.Service1Client
    Dim ByteData As Byte()
    Dim oFileStream As System.IO.FileStream

    ByteData = WCF.GetPDF_Byte
    oFileStream = New System.IO.FileStream("C:\NewPDF.pdf", FileMode.Create)
    oFileStream.Write(ByteData, 0, ByteData.Length)
    oFileStream.Close()
End Sub
希望能帮助别人