2010-11-22 12 views
1

PDF olarak kaydedilebilecek bir bayt dizisi içeren bir nesne döndüren WCF hizmetim var (bu uygulamanın .NET bileşeni benim Bir çekicilik gibi, baytlar bir akışa kaydedilir ve PDF'yi sorun çıkarmadan yazarlar). Gerekirse sadece baytları döndürmek için WCF'yi değiştirebilirim. Sorum şu: Bu baytları asp sayfasına nasıl alabilirim, böylece onları kurtarabilirim. Web'i arama/yardım/ipucu/herhangi bir şey için arama yapmak için birkaç saat harcadım, ancak göreceli olarak başarısız oldum. Asp dilinde dosya yazmak için bir yöntemim var, ancak bir dizi bayt alır, ancak WCF'den baytları nasıl alacağımı bilmiyorum. WCF ile iletişim kurabilmemin tek yolu, SOAP türü çağrıları kullanmak ve döndürülmüş XML'yi ayrıştırmaktır (bu, yalnızca geri gönderilen metin değerlerine ihtiyaç duyduğundan, sayfanın geri kalanı için iyidir), ancak bu Dosyayı kaydetmek için döndürülen baytlar gerekiyor. (Ve hayır, WCF dosyayı kendi başına kaydedemez, farklı bir sunucuda yaşar ve bir sürücü haritasını veya benzeri bir şeyi paylaşma erişimi yoktur).Bir dosyayı yazmak için Klasik ASP (vbscript) kullanma ancak veriler bir WCF'den geliyor

Herhangi bir düşünce/ipucu/ipucu/vb. BÜYÜKLÜĞÜ olur, bu proje ile deliriyorum!

Herkese şimdiden teşekkürler!

cevap

0

WCF hizmetini çağırıyor ve Calling WCF service by VBScript göremiyorsanız, karşılığında bir dize almak gibi geliyor.

Dizeyi aldıktan sonra, bir bayt alt türüne (ChrB() kullanarak) dönüştürün ve bir dosyaya kaydedin veya istemciye yazın.

Function StringToMultiByte(S) 
    Dim i, MultiByte 
    For i=1 To Len(S) 
    MultiByte = MultiByte & ChrB(Asc(Mid(S,i,1))) 
    Next 
    StringToMultiByte = MultiByte 
End Function 
:

Ben Create and work with binary data in ASP/VBScript bu kod örneği buldu