WCF RIA ล้มเหลวจนกระทั่ง Clean Solution จากนั้นจึงใช้งานได้

ปัญหาแปลก ๆ ที่เพิ่งเริ่มเกิดขึ้นในโครงการ SL/WCF RIA Services ที่ฉันได้ทำในปีที่ผ่านมา ล่าสุดฉันได้รับข้อความนี้ทุกครั้งที่แก้ไขข้อบกพร่องและเรียกใช้แอปพลิเคชันอีกครั้ง

การดำเนินการโหลดล้มเหลวสำหรับแบบสอบถาม 'GetDepartments' เกิดข้อผิดพลาดขณะดำเนินการข้อกำหนดคำสั่ง ดูข้อยกเว้นภายในสำหรับรายละเอียด ข้อความ InnerException: การดำเนินการชุดงานถูกยกเลิกเนื่องจากการร้องขอการดีบักเกอร์

หากฉัน "ล้าง" วิธีแก้ปัญหา แล้วเริ่มแอปพลิเคชัน ทุกอย่างจะทำงานได้อีกครั้ง

ฉันได้พยายามที่จะแยกข้อผิดพลาดที่แน่นอน แต่มันเกิดขึ้นระหว่างการโทรกลับของการดำเนินการโหลด และฉันไม่แน่ใจว่าเกิดอะไรขึ้น

ฉันเปิด SQL Profiler แล้ว และข้อความค้นหาก็ดูเหมือนเดิม และฉันไม่คิดว่าจะมีปัญหาที่เซิร์ฟเวอร์

คำแนะนำใด ๆ ที่จะได้รับการชื่นชม ใช้เวลาสร้างนานเกินไปแล้ว!

R


person codeputer    schedule 10.11.2011    source แหล่งที่มา


คำตอบ (3)


ความจริงที่ว่าการทำความสะอาดสารละลายช่วยได้อาจหมายถึงหนึ่งในสองสิ่งนี้:

  1. คุณรีสตาร์ทโซลูชันและรีเซ็ตบางสิ่ง (พูลการเชื่อมต่อ เธรด แคชคลาสโหลดเดอร์ ฯลฯ) ลองรีสตาร์ทวิธีแก้ปัญหาโดยไม่ต้องทำความสะอาดเพื่อดูว่าเป็นกรณีนี้หรือไม่
  2. กระบวนการสร้างของคุณสร้าง DLL สำหรับโค้ดเดียวกันในหลาย ๆ ตำแหน่ง และเมื่อคุณสร้างพื้นฐานจะมีการอัปเดตเพียงอันเดียวเท่านั้น ซึ่งอาจทำให้อินเทอร์เฟซไม่ตรงกัน เวอร์ชันซีเรียลไลซ์ไม่ตรงกัน หรือปัญหาอื่นๆ ที่คล้ายกัน ลองค้นหาชื่อ DLL ในโซลูชันทั้งหมดและดูว่ามีกี่ที่ที่แสดง จากนั้นทำการสร้างพื้นฐานและดูว่ามีกี่รายการที่เปลี่ยนการประทับเวลา ในทำนองเดียวกัน ลองใช้ FileMon เพื่อดูว่าโหลด DLL มาจากที่ใด
person Alexandre Rafalovitch    schedule 22.11.2011
comment
FileMon - ไม่คุ้นเคยกับเครื่องมือ จะลองดูและใช้งานกับ VS อย่างไร ขอบคุณ - person codeputer; 24.11.2011
comment
จริงๆแล้วความเลวของฉัน ขณะนี้ FileMon เป็น Process Monitor มันเป็นเพียงหนึ่งในหลาย ๆ เครื่องมือที่น่าทึ่งอย่างยิ่งจากบริษัทที่ชื่อว่า SysInternals (ตั้งแต่ถูกซื้อกิจการโดย Microsoft) อย่าลืมดูเครื่องมืออื่นๆ ที่นั่นด้วย - person Alexandre Rafalovitch; 24.11.2011

ลองปิดการใช้งานการดีบัก SQL เพียงเพื่อประโยชน์:

คุณสมบัติโครงการ > ดีบัก > [ยกเลิกการเลือก] เปิดใช้งานการดีบัก SQL Server

person Derreck Dean    schedule 15.11.2011

คำตอบก่อนหน้าน่าจะช่วยได้ สิ่งนี้เชื่อมโยงกับการดำเนินการโหลด เนื่องจากเมธอดนี้จะค้นหาฐานข้อมูลพื้นฐาน (อาจผ่าน ORM แต่นั่นไม่สำคัญ มันสำคัญแค่ว่า SqlConnection เปิดอยู่ที่ไหน)
หากคุณต้องการการดีบักเซิร์ฟเวอร์ sql ให้ทำ ดูลิงก์จาก MS นี้ ซึ่งจะอธิบายวิธีการตั้งค่า (คุณจะต้องมีสิทธิ์ของผู้ดูแลระบบ)
เท่าที่เกี่ยวข้องกับ "โซลูชันที่สะอาด" ฉันเดาว่ามันเกี่ยวข้องกับ pdb ที่ไม่ตรงกันกับแอสเซมบลีที่ดำเนินการ (แอสเซมบลีที่ทำงานในกระบวนการที่ VS ดีบักเกอร์อยู่ ที่แนบมาด้วย) สิ่งนี้จะปิดใช้งานการดีบักสำหรับแอสเซมบลีนั้น ดังนั้น คุณจะไม่ได้รับข้อยกเว้น

หวังว่านี่จะช่วยได้
มาร์โก

person mCasamento    schedule 16.11.2011