ฉันสร้างเว็บแอปพลิเคชัน (ASP.NET Core MVC) ซึ่งดึงข้อมูลจำนวนมากจากเซิร์ฟเวอร์ SQL แอปพลิเคชันได้รับการติดตั้งในเซิร์ฟเวอร์ (A) ที่มี IIS 6.2 และ Windows Server 2012R2 ในขณะที่เซิร์ฟเวอร์ SQL ได้รับการติดตั้งในเซิร์ฟเวอร์อื่น (B) ที่มี MS SQL Server 2014 และ Windows Server 2012R2 ด้วย

เมื่อติดตั้งแอปพลิเคชันนี้ในเซิร์ฟเวอร์ A การดึงข้อมูลจำนวนมากจะส่งคืนข้อผิดพลาด:

502 - Web server received an invalid response while acting as a gateway or proxy server.
There is a problem with the page you are looking for, and it cannot be displayed. When the Web server (while acting as a gateway or proxy) contacted the upstream content server, it received an invalid response from the content server.

เมื่อแอปพลิเคชันทำงานในคอมพิวเตอร์ของฉันเองโดยเชื่อมต่อกับ SQL ของเซิร์ฟเวอร์ B จะไม่มีการส่งคืนข้อผิดพลาดและงานจะเสร็จสมบูรณ์

เป็นข้อผิดพลาดการหมดเวลาหรือลำดับความสำคัญหรือไม่ ไม่มีการส่งคืนข้อผิดพลาดใน Event Viewer ของทั้งเซิร์ฟเวอร์ A และเซิร์ฟเวอร์ B เป็นการกำหนดค่าของเซิร์ฟเวอร์ A (IIS หรืออื่น ๆ ) หรือไม่

หมายเหตุ: แอปพลิเคชันอื่นในเซิร์ฟเวอร์ทำงานตามปกติ

หมายเหตุ: บันทึกของแอปพลิเคชันมีข้อความประเภทต่อไปนี้:

warn: Microsoft.EntityFrameworkCore.Query[20500]
The LINQ expression 'where {from String q in __8__locals1_Geobricks_2 where [l].Geobrick.StartsWith([q]) select [q] => Any()}' could not be translated and will be evaluated locally.
answer

ปัญหาได้รับการแก้ไขด้วยการเพิ่มประสิทธิภาพของการสืบค้น SQL

ฉันจัดการย่อข้อมูลที่ดึงมาจากเซิร์ฟเวอร์ SQL ด้วยการรวมส่วนคำสั่ง WHERE ซึ่งก่อนหน้านี้ไม่ได้รวมอยู่ในคำสั่ง SQL ที่ส่งไปยังเซิร์ฟเวอร์ SQL

ฉันไม่ได้ลอง แต่บางทีฉันสามารถตั้งค่าการหมดเวลาของคำสั่งให้นานขึ้นได้ ...