Score:0

IIS ดูเหมือนจะอนุญาตการเรียกบริการเว็บ WCF พร้อมกันสูงสุดหนึ่งครั้งต่อไคลเอ็นต์

ธง cn

เรามีแอปพลิเคชัน windows ซึ่งเรียกใช้เมธอดบริการเว็บสำหรับการเข้าถึงฐานข้อมูล เราพบกรณีที่เราทำการเรียกบริการเว็บแบบอะซิงโครนัสเป็นเวลานาน (15+ วินาที) ไปยังบริการ WCF บน IIS หาก UI สร้างอย่างอื่น การบล็อก (เป็นโค้ดเก่า) การเรียกใช้เว็บเซอร์ขณะที่กำลังดำเนินอยู่ การเรียกเพิ่มเติมเหล่านั้นจะบล็อกจนกว่าการเรียก async เริ่มต้นจะเสร็จสิ้น

สิ่งนี้จะไม่เกิดขึ้นเมื่อทั้ง UI และบริการบนเว็บทำงานใน Visual Studio ด้วย IIS Express: การบล็อกการโทรนั้นรวดเร็ว และสิ่งเหล่านั้นทั้งหมดจะเสร็จสิ้นก่อนที่การโทร async ที่ยาวนานจะเสร็จสิ้น

บริการเว็บทั้งหมดมีดังต่อไปนี้:

<serviceThrottling 
    maxConcurrentCalls="5000" maxConcurrentSessions="5000" maxConcurrentInstances="5000" />

นอกจากนี้ maxConnections="500" ทุกที่

เราต้องการให้ IIS จัดการกับการเรียกบริการเว็บพร้อมกันเหล่านี้ในลักษณะเดียวกับที่ IIS Express ทำพร้อมกัน

...

ถ้ามันช่วยให้ทุกอย่างสมเหตุสมผล: เราจะค้นหาวัตถุ การค้นหาส่งคืนรายการ 50 อันดับแรก (โดยค่าเริ่มต้น) ที่ตรงตามเกณฑ์ และในขณะเดียวกัน เราจะเรียกใช้การนับจำนวน (*) แบบอะซิงโครนัสในการค้นหาเดียวกัน การสอบถามจำนวนอาจใช้เวลานานมาก ผู้ใช้ยืนยันว่าบางครั้งพวกเขาต้องการทราบว่าจำนวนทั้งหมดคืออะไร แต่โดยปกติแล้วพวกเขาต้องการที่จะสามารถเปิดวัตถุในรายการผลลัพธ์ได้นานก่อนที่การนับจะกลับมา การเปิดออบเจกต์เป็นที่ที่เรียกบริการเว็บแบบซิงโครนัส ก่อนหน้านี้ ผลการค้นหาและการนับทั้งหมดเป็นส่วนหนึ่งของวิธีการบริการเว็บเดียวกัน

Lex Li avatar
vn flag
เปิดใช้งานการติดตาม WCF ในทั้งสองกรณี (IIS Express/IIS), https://docs.microsoft.com/en-us/dotnet/framework/wcf/diagnostics/tracing/configuring-tracing จากนั้นคุณควรจะเห็นได้อย่างชัดเจนว่าอะไรคืออะไร ผิด.
Ed J. Plunkett avatar
cn flag
@LexLi ขอบคุณเล็กซ์ ฉันจะทำมัน.
Ed J. Plunkett avatar
cn flag
@LexLi มีข้อมูลใดเป็นพิเศษในนั้นที่คุณคิดว่าอาจเป็นประโยชน์ในการระบุสาเหตุของปัญหานี้หรือไม่
Lex Li avatar
vn flag
ส่งต่อไปยังนักพัฒนาของเว็บแอปนั้น และเขา/เธอรู้วิธีวิเคราะห์ มีตัวอย่างมากมายใน https://docs.microsoft.com/en-us/dotnet/framework/wcf/diagnostics/tracing/using-tracing-to-troubleshoot-your-application
Ed J. Plunkett avatar
cn flag
@LexLi "ถามผู้รู้"? นั่นเป็นแนวคิดเบื้องหลังการโพสต์คำถามที่นี่จริง ๆ
Lex Li avatar
vn flag
คุณสามารถตรวจสอบคำถามที่มีอยู่เพื่อดูว่าประเภทใดมีแนวโน้มที่จะได้รับคำตอบมากกว่ากัน การวิเคราะห์ปัญหา WCF จำเป็นต้องเข้าถึงบันทึกการติดตามและบันทึกอื่น ๆ (บันทึกใด ๆ สามารถมีข้อมูลลับได้) และรูปแบบข้อผิดพลาดที่เป็นไปได้นั้นมากเกินไปที่จะสรุปเป็นคำตอบที่สั้นเพียงพอ ธรรมชาตินั้นทำให้คำถามดังกล่าวเป็นเรื่องยาก (หากไม่ใช่เป็นไปไม่ได้) ที่จะพูดคุยทางอินเทอร์เน็ต
Ed J. Plunkett avatar
cn flag
@lexli นี่คือคำถามที่ฉันมี

โพสต์คำตอบ

คนส่วนใหญ่ไม่เข้าใจว่าการถามคำถามมากมายจะปลดล็อกการเรียนรู้และปรับปรุงความสัมพันธ์ระหว่างบุคคล ตัวอย่างเช่น ในการศึกษาของ Alison แม้ว่าผู้คนจะจำได้อย่างแม่นยำว่ามีคำถามกี่ข้อที่ถูกถามในการสนทนา แต่พวกเขาไม่เข้าใจความเชื่อมโยงระหว่างคำถามและความชอบ จากการศึกษาทั้ง 4 เรื่องที่ผู้เข้าร่วมมีส่วนร่วมในการสนทนาด้วยตนเองหรืออ่านบันทึกการสนทนาของผู้อื่น ผู้คนมักไม่ตระหนักว่าการถามคำถามจะมีอิทธิพลหรือมีอิทธิพลต่อระดับมิตรภาพระหว่างผู้สนทนา