ฉันเพิ่งสร้างบริการ WCF (dll) และโฮสต์บริการ (exe) ฉันรู้ว่าบริการ WCF ของฉันทำงานอย่างถูกต้องเนื่องจากฉันสามารถเพิ่มบริการลงใน WcfTestClient ได้สำเร็จ
อย่างไรก็ตามดูเหมือนว่าฉันกำลังประสบปัญหาเมื่อต้องใช้ WCF จากโฮสต์บริการ (exe) ฉันสามารถเพิ่มการอ้างอิงถึง WCF (dll) ให้กับโฮสต์บริการของฉัน (exe) และสร้างส่วนประกอบที่จำเป็นให้กับ exe เช่นตัวติดตั้งบริการโฮสต์บริการและ app.config คอมไพล์แล้วสุดท้ายติดตั้ง exe โดยใช้ InstallUtil แต่เมื่อฉันพยายามเริ่มบริการใน Microsoft Management Console บริการจะหยุดทันทีหลังจากเริ่มต้น
ดังนั้นฉันจึงเริ่มตรวจสอบสิ่งที่อาจทำให้เกิดปัญหานี้และเกิดข้อผิดพลาดนี้จากบันทึกแอปพลิเคชันใน Event Viewer
คำอธิบาย:
ไม่สามารถเริ่มบริการได้ System.InvalidOperationException: Service 'Service' ไม่มีจุดสิ้นสุดของแอปพลิเคชัน (ไม่ใช่โครงสร้างพื้นฐาน) เป็นศูนย์ อาจเป็นเพราะไม่พบไฟล์คอนฟิกูเรชันสำหรับแอ็พพลิเคชันของคุณหรือเนื่องจากไม่พบองค์ประกอบเซอร์วิสที่ตรงกับชื่อเซอร์วิสในไฟล์คอนฟิกูเรชันหรือเนื่องจากไม่มีการกำหนดจุดสิ้นสุดในองค์ประกอบเซอร์วิส
ข้อผิดพลาดนี้เกิดขึ้นจริงในOnStart
; ของ exe ของฉันเมื่อฉันทำการโทรServiceHost.Open()
นี้ ฉันเคยเห็นโพสต์มากมายที่มีบุคคลอื่นประสบปัญหานี้ แต่ส่วนใหญ่หากไม่ใช่ทั้งหมดอ้างว่าชื่อบริการหรือสัญญา ไม่ได้ระบุเนมสเปซและชื่อคลาส ฉันตรวจสอบทั้งสองรายการเหล่านี้ในไฟล์กำหนดค่าของฉัน ใน exe เช่นเดียวกับใน dll และตรงกันอย่างสมบูรณ์แบบ ฉันเคยให้คนอื่น ๆ ในสำนักงานตรวจสอบข้างหลังฉันอีกครั้งเพื่อให้แน่ใจว่าฉันจะไม่ตาบอดในจุดใดจุดหนึ่ง แต่แน่นอนว่าพวกเขาได้ข้อสรุปเช่นเดียวกับฉันว่าทุกอย่างดูเหมือนระบุไว้อย่างถูกต้อง ฉันกำลังหลงทางกับสิ่งที่เกิดขึ้น ณ จุดนี้ ใครช่วยฉันแก้ปัญหานี้ได้บ้าง
อีกสิ่งหนึ่งที่เป็นสาเหตุที่เป็นไปได้ที่อาจเกิดขึ้นคือ app.config จะไม่ถูกอ่าน; อย่างน้อยก็ไม่ใช่เรื่องที่ฉันคิดว่าควรจะอ่าน นี่อาจเป็นปัญหาหรือไม่? ถ้าเป็นเช่นนั้นฉันจะแก้ไขปัญหานี้ได้อย่างไร อีกครั้งความช่วยเหลือใด ๆ จะได้รับการชื่นชม