คำถามติดแท็ก wcf-endpoint

16
บริการมีจุดสิ้นสุดของแอปพลิเคชันเป็นศูนย์ (ไม่ใช่โครงสร้างพื้นฐาน)
ฉันเพิ่งสร้างบริการ 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()นี้ ฉันเคยเห็นโพสต์มากมายที่มีบุคคลอื่นประสบปัญหานี้ แต่ส่วนใหญ่หากไม่ใช่ทั้งหมดอ้างว่าชื่อบริการหรือสัญญา …

22
อาจเป็นเพราะการเชื่อมจุดสิ้นสุดของบริการไม่ได้ใช้โปรโตคอล HTTP
ฉันมีบริการ WCF ที่ทำงานได้ดีบนเครื่องในพื้นที่ของฉัน ฉันวางไว้บนเซิร์ฟเวอร์และฉันได้รับข้อผิดพลาดต่อไปนี้: เกิดข้อผิดพลาดขณะที่ได้รับการตอบสนอง HTTP เพื่อ http: //xx.xx.x.xx: 8200 / บริการ / WCFClient.svc อาจเป็นเพราะการเชื่อมจุดสิ้นสุดของบริการไม่ได้ใช้โปรโตคอล HTTP นอกจากนี้ยังอาจเนื่องมาจากบริบทคำขอ HTTP ถูกเซิร์ฟเวอร์ยกเลิก (อาจเนื่องมาจากการปิดบริการ) ดูบันทึกเซิร์ฟเวอร์สำหรับรายละเอียดเพิ่มเติม] ฉันไปที่บริการใน url แล้วและมันทำงานได้อย่างถูกต้อง สิ่งที่ฉันทำเพื่อฟังก์ชั่นนี้คือการส่งคืนสตริงไปยังชื่อรูปภาพดังนั้นข้อมูลที่ส่งผ่านจึงไม่มาก ฉันได้ติดตามบันทึกและให้ข้อมูลเดียวกันกับฉัน นี่คือการกำหนดค่าไคลเอ็นต์ของฉัน: <binding name="basicHttpBinding_IWCFClient" closeTimeout="00:01:00" openTimeout="00:01:00" receiveTimeout="00:10:00" sendTimeout="00:01:00" bypassProxyOnLocal="false" hostNameComparisonMode="StrongWildcard" maxBufferPoolSize="2147483647" maxReceivedMessageSize="2147483647" messageEncoding="Text" textEncoding="utf-8" useDefaultWebProxy="true" allowCookies="false"> <readerQuotas maxDepth="2147483647" maxStringContentLength="2147483647" maxArrayLength="2147483647" maxBytesPerRead="2147483647" maxNameTableCharCount="2147483647" /> <security mode="None"> …
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.