รับรอง (รีสตาร์ท) บริการ MSMQ WCF ที่โฮสต์บน IIS7.5 WAS

เราประสบปัญหานี้มานานกว่าหนึ่งเดือนแล้ว โดยมีปัญหาที่บริการ wcf msmq ที่โฮสต์ใน IIS7.5 (WAS) จะหยุดประมวลผลข้อความจากคิว

เราไม่สามารถจำกัดให้แคบลงได้มากกว่า "ในบางจุด" จะหยุดประมวลผลข้อความจากคิว การเรียก svc ผ่านการเรียก http เบราว์เซอร์จะเริ่มการประมวลผลอีกครั้ง

หลังจากอ่านบทความ บล็อก และโพสต์ในฟอรัมมากมายเกี่ยวกับปัญหานี้ เราได้ตรวจสอบสิ่งต่อไปนี้แล้ว: การตั้งค่าความปลอดภัย การเชื่อมโยงโปรโตคอล และการตั้งชื่อ msmq/บริการ แต่อนิจจา: บริการจะยังคงหยุดการประมวลผลข้อความ (ในบางจุด)

สนับสนุนโดยบทความนี้ http://www.daczkowski.net/2010/11/19/leveraging-msmq-in-asp-net-application-through-wcf-service/ ดูเหมือนว่าเราจะแก้ไขปัญหาได้ในที่สุด (เกือบ) สำหรับ windows server 2008 r2 sp1 64 บิต แต่ดูเหมือนว่าจะยังปรากฏบน Windows 7 32 บิต

ตอนนี้เพื่อไปที่คำถามของฉัน: ใครช่วยบอกฉันได้ไหมว่ามีผู้รับประกันอยู่จริง (เอกสารเกี่ยวกับเรื่องนี้จะได้รับการชื่นชม) ว่าบริการ msmq WAS ที่โฮสต์ wcf จะรีสตาร์ทจริง ๆ (ภายใต้เงื่อนไขทั้งหมด) บน IIS7.5 ที่ไม่ได้เรียกใช้ส่วนขยาย AppFabric ?

ฉันทราบว่าคำถามนี้ซับซ้อนมาก แต่ฉันก็ลำบากใจที่จะหาเอกสารว่าทำไมเราจึงควรขยายแพ็คเกจ OTS ของเราด้วย AppFabric เพื่อแก้ไขปัญหาการรีสตาร์ทนี้

ขอแสดงความนับถืออย่างสูง,


person Casper Leon Nielsen    schedule 27.05.2011    source แหล่งที่มา


คำตอบ (1)


คุณเป็นปลายทาง net.msmq ใช้ที่อยู่ที่ IIS สามารถผูกกับชื่อคิวได้จริงหรือไม่ เป็นไปได้ที่จะใช้ชื่อที่เข้ากันได้กับ IIS ในการกำหนดค่า และ WAS จะไม่สามารถปลุกแอปพลิเคชันของคุณได้จริงๆ เนื่องจาก WAS จะลงทะเบียนในคิวตามชื่อเส้นทางที่สามารถแก้ไขได้เท่านั้น ในกรณีนั้น คุณต้องมี AppFabric หรือสคริปต์ "เริ่มต้น" เพื่อเปิดใช้งานบริการของคุณจริง ๆ เพื่อที่พวกเขาจะเชื่อมโยงกับคิวด้วยตนเอง

person Drew Marsh    schedule 27.05.2011
comment
คุณรู้หรือไม่ว่า Microsoft เคยบันทึกข้อมูลบิตนี้ไว้ที่ใดหรือไม่? ฉันค้นหาใน MSDN และเครื่องมือค้นหาหลักๆ ทั้งหมดแล้ว แต่ยังไม่พบ เราปฏิบัติตามแบบแผนสำหรับการตั้งชื่อคิวของ ServiceFolderName/ServiceName.svc เพื่อให้ hostName/ServiceFolderName/ServiceName.svc คือที่อยู่ปลายทางของบริการ และ private$\ServiceFolderName/ServiceName.svc คือชื่อคิว - person Sixto Saez; 27.05.2011
comment
ปัญหาซับซ้อนกว่านี้ ฉันเกรงว่า: บริการสามารถเปิดใช้งานได้โดย IIS WAS เพียงอย่างเดียว แต่บางครั้ง (!) จะหยุดการประมวลผล สิ่งนี้ไม่ได้เชื่อมโยงโดยตรงกับเหตุการณ์ เช่น การรีสตาร์ทกระบวนการ เซิร์ฟเวอร์ ฯลฯ การรีไซเคิล ฯลฯ ซึ่งเราได้กำจัดไปแล้วในตอนนี้ บริการจะเริ่มประมวลผล แต่จะหยุดลง ณ จุดใดจุดหนึ่งเท่านั้น บริการของเราได้รับการตั้งชื่ออย่างถูกต้องและชื่อคิวที่ตรงกัน - person Casper Leon Nielsen; 27.05.2011
comment
@Casper Leon Nielson อืมนั่นแปลกมากจริงๆ ฉันไม่เคยเห็นสิ่งนั้น และไม่มีอะไรแน่นอนในบันทึกเหตุการณ์จาก IIS/WAS - person Drew Marsh; 27.05.2011
comment
@Sixto Saez Yup ได้รับการบันทึกไว้อย่างชัดเจนที่นี่บน MSDN: msdn.microsoft.com/ en-us/library/ms789042.aspx - person Drew Marsh; 27.05.2011
comment
ขอบคุณมาก!! ฉันไม่ได้ใช้คำค้นหาที่ถูกต้องอย่างแน่นอน ซึ่งจะเป็นส่วนเสริมที่ดีเยี่ยมในเอกสารการกำหนดค่าบริการของเรา - person Sixto Saez; 27.05.2011