อะไรคือความแตกต่างระหว่าง WCF Service Application และ WCF Service Library?


118

ฉันกำลังพัฒนาบริการเว็บ WCF และฉันใช้เทมเพลต WCF Service Application เพื่อทำสิ่งนั้น

การสร้าง "แอปพลิเคชันบริการ WCF" เป็นไปตามข้อกำหนดนี้หรือไม่ ข้อดีของการสร้าง WCF Service Library ผ่านแอปพลิเคชันบริการ WCF คืออะไร?

คำตอบ:


148

แอปพลิเคชันบริการมีโฮสต์เว็บไซต์ที่ตั้งค่าไว้ให้คุณแล้ว ไลบรารีบริการคือไลบรารีของบริการที่โฮสต์สามารถอ้างอิงและเริ่มต้นได้

หากคุณเริ่มต้นด้วยไลบรารีบริการ (แนะนำ) คุณสามารถเลือกโฮสต์ใดก็ได้ที่คุณต้องการ (บริการ windows, IIS / ASP.NET หรือแม้แต่แอปพลิเคชันคอนโซล) และคุณเพียงแค่อ้างอิงไลบรารีของคุณจากโฮสต์ใหม่ของคุณ การเลือกแอปพลิเคชันบริการ จำกัด โฮสต์ของคุณไว้ที่ IIS / ASP.NET เท่านั้น (แม้ว่าสิ่งนี้อาจใช้ได้สำหรับวัตถุประสงค์ของคุณ แต่จะ จำกัด โปรโตคอลที่คุณสามารถใช้ได้)

แก้ไข : การเปลี่ยนแปลงใน IIS เนื่องจากฉันเขียนสิ่งนี้ทำให้สามารถใช้โปรโตคอลที่หลากหลายมากขึ้นบนบริการที่เปิดใช้งาน ASP.NET ดังนั้นการเลือกแอปพลิเคชันบริการจึงมีข้อ จำกัด น้อยกว่าเดิมมาก


1
ใครมีข้อมูลเกี่ยวกับโปรโตคอล / การผูกใหม่ที่พร้อมใช้งานเมื่อโฮสต์บน IIS
Allen Rice

@AndersonImes ฉันรู้ว่านี่เป็นโพสต์เก่า แต่หวังว่าคุณจะช่วยได้ ฉันมองหาทุกที่และไม่พบว่า WCF Service มีจุดประสงค์เพื่อแทนที่ Web Service ใน. NET 3.5 หรือไม่และเหตุใดจึงลบเทมเพลตใน. NET 4 ขอบคุณ :)
Chiramisu

2
@Chiramisu WCF มีข้อดีอื่น ๆ อีกมากมายและมีความยืดหยุ่น ... ผมพบว่าเหล่านี้เป็นประโยชน์มาก: CodeProject ตัวอย่าง , Stackoverflow คำถาม
StoriKnow

@ แซมขอบคุณแซมมีประโยชน์มาก โดยพื้นฐานแล้ว WCF สามารถทำทุกอย่างที่ Web Service ทำได้และอีกมากมาย? ข้อ จำกัด ใด ๆ ที่ฉันสงสัย ... :)
Chiramisu

1
@ ชิรามิสุยินดีช่วย! มีข้อ จำกัด อยู่เสมอ แต่ WCF มีข้อ จำกัด น้อยกว่าบริการเว็บทั่วไปมาก
StoriKnow

10

หากทั้งหมดที่คุณมีคือโครงการเดียวฉันเห็น แต่ความซับซ้อนที่เพิ่มเข้ามาถ้าคุณแยกออกจากกัน ฉันใช้ไลบรารีเมื่อฉันมีบางกรณีการใช้งานที่ฉันต้องโฮสต์ทั้งในบริการ windows และใน IIS

สำหรับ IIS คุณสามารถย้ายคลาสและอินเทอร์เฟซไปยังไลบรารีได้ แต่เก็บไฟล์. SCV ของคุณไว้ในโปรเจ็กต์เว็บ คุณต้องแก้ไขไฟล์. SCC เพื่อชี้ไปที่คลาสที่มีคุณสมบัติเหมาะสม

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.