การใช้ Classic ASP (vbscript) เพื่อเขียนไฟล์ แต่ข้อมูลมาจาก WCF

ฉันมีบริการ WCF ที่ส่งคืนออบเจ็กต์ที่มีอาร์เรย์ของไบต์ที่สามารถบันทึกเป็น PDF ได้ (ส่วนประกอบ .NET ของฉันในการใช้งานนี้ใช้งานได้อย่างมีเสน่ห์ ไบต์จะถูกบันทึกลงในสตรีมและเขียน PDF โดยไม่มีปัญหา) . ฉันสามารถแก้ไข WCF เพื่อส่งคืนเฉพาะไบต์ได้หากจำเป็น คำถามของฉันคือ: ฉันจะนำไบต์เหล่านั้นไปยังหน้า asp ได้อย่างไรเพื่อที่จะบันทึกมันได้ ฉันใช้เวลาหลายชั่วโมงในการค้นหาเว็บเพื่อหาวิธีการ/ความช่วยเหลือ/คำแนะนำ/อะไรก็ตาม แต่ก็ค่อนข้างไม่ประสบความสำเร็จ ฉันมีวิธีการเขียนไฟล์ในรูปแบบ asp แต่ต้องใช้อาร์เรย์ไบต์ แต่ฉันไม่รู้ว่าจะรับไบต์จาก WCF ได้อย่างไร วิธีเดียวที่ฉันสามารถสื่อสารกับ WCF ได้คือใช้การเรียกประเภท SOAP และแยกวิเคราะห์ XML ที่ส่งคืน (ซึ่งใช้ได้สำหรับส่วนที่เหลือของหน้า เนื่องจากฉันต้องการเพียงค่าข้อความที่ส่งคืน) แต่สิ่งนี้ เราต้องการไบต์ที่ส่งคืนเพื่อบันทึกไฟล์ (และไม่ WCF ไม่สามารถบันทึกไฟล์ได้ด้วยตัวเอง ไฟล์นั้นอยู่บนเซิร์ฟเวอร์อื่น และไม่สามารถเข้าถึงการแชร์แผนที่ไดรฟ์หรืออะไรทำนองนั้น)

ความคิด/คำแนะนำ/เคล็ดลับ/อื่นๆ จะได้รับการชื่นชมอย่างมาก ฉันจะบ้ากับโปรเจ็กต์นี้แล้ว!

ขอบคุณล่วงหน้าทุกคน!


person SlackerCoder    schedule 22.11.2010    source แหล่งที่มา


คำตอบ (1)


ดูเหมือนว่าคุณกำลังเรียกใช้บริการ WCF และได้รับสตริงเป็นการตอบแทนหากไม่เห็น การเรียกบริการ WCF ด้วย VBScript

เมื่อคุณมีสตริงแล้ว ให้แปลงเป็นประเภทย่อยไบต์ (โดยใช้ ChrB()) และบันทึกลงในไฟล์หรือเขียนลงในไคลเอนต์

ฉันพบตัวอย่างโค้ดนี้ที่ สร้างและทำงานกับข้อมูลไบนารีใน ASP/VBScript:

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
person DaveB    schedule 22.11.2010