ทุกคนพูดว่า. NET Remoting ถูกแทนที่ด้วย WCF ได้อย่างไร แต่ฉันสงสัยว่ามันถูกต้องแค่ไหน ฉันไม่เห็นคำที่เป็นทางการว่า Remoting กำลังเลิกใช้งานและดูเหมือนว่าสำหรับฉันแล้วมีสถานการณ์ที่ Remoting เหมาะสมกว่า WCF ไม่มีการเลิกใช้งานอ็อบเจ็กต์หรือเมธอดที่เกี่ยวข้องกับ Remoting แม้แต่ในเวอร์ชัน 4.0 ของเฟรมเวิร์ก ฉันเข้าใจเช่นกันว่า System.AddIn ในกรอบงาน 3.5 และ 4.0 ใช้ Remoting
ใครมีคำพูดที่เป็นทางการในทางตรงกันข้าม?
ในบทความการเลือกตัวเลือกการสื่อสารใน. NET (สำหรับ 3.0 ซึ่งเป็นเวอร์ชันล่าสุดของบทความนั้น) ระบุว่า:
8 การสื่อสารข้ามแอปพลิเคชันโดเมน
หากคุณต้องการสนับสนุนการสื่อสารระหว่างออบเจ็กต์ในโดเมนแอปพลิเคชันต่างๆภายในกระบวนการเดียวกันคุณต้องใช้. NET remoting
แน่นอนว่าตอนนี้ไม่ถูกต้องเนื่องจาก WCF สามารถใช้เพื่อข้ามขอบเขตของโดเมนแอปได้อย่างแน่นอน แต่จะให้คำแนะนำอย่างเป็นทางการสำหรับสถานการณ์นั้นหรือไม่?
อัปเดต: ฉันส่ง Clemens Vasters (ซึ่งอยู่ในทีมที่เป็นเจ้าของ Remoting และ WCF) คำถามนี้:
Clemens ฉันเข้าใจว่าคุณอยู่ในทีมที่เป็นเจ้าของทั้ง remoting และ wcf และฉันมีคำถามสองสามข้อที่ฉันเชื่อว่าฉันต้องไปที่แหล่งข้อมูล
ก่อนอื่นฉันมีคำถามว่าการรีบูตจะหายไปหรือไม่ โดยเฉพาะอย่างยิ่งเรามีแอปพลิเคชันที่ค่อนข้างใหญ่ซึ่งใช้ระยะไกลอย่างกว้างขวางสำหรับการสื่อสารข้ามแอปโดเมนในกระบวนการและฉันสงสัยว่าการใช้งานระยะไกลนี้ถือเป็น "มรดก" ถ้าเป็นเช่นนั้น AppDomain.CreateInstance และเพื่อน ๆ จะถูกแทนที่ด้วยสิ่งอื่นหรือไม่?
นี่คือคำตอบของเขา:
ระยะไกลเป็นส่วนหนึ่งของ. Net Framework และด้วยเหตุนี้จึงไม่หายไป COM อยู่ใน Windows ตั้งแต่ Windows NT 3.5 / Windows 95 และไม่ได้หายไปไหนและฉันก็ไม่เห็นว่าจะหายไปในเร็ว ๆ นี้ด้วย
ที่กล่าวว่ามีการลงทุนในการพัฒนาที่น้อยมากใน Remoting WCF เป็นผู้สืบทอดของ Remoting และแทนที่ COM / DCOM สำหรับโค้ดที่มีการจัดการ
สำหรับในกระบวนการการสื่อสารข้ามแอปโดเมน Remoting เป็นวิธีการสื่อสารดั้งเดิมของ CLR หากคุณพบปัญหาด้านประสิทธิภาพการสูบข้อมูลจำนวนมากหรือข้อความจำนวนมากในเวลาอันสั้นคุณควรพิจารณาอย่างจริงจังที่ WCF และ NetNamedPipeBinding