WCF RIA gagal sampai Clean Solution, lalu berhasil

Masalah aneh yang baru mulai terjadi pada proyek Layanan SL/WCF RIA yang saya kerjakan selama setahun terakhir. Baru-baru ini saya menerima pesan ini setiap kali saya memperbaiki bug dan menjalankan kembali aplikasi.

Operasi pemuatan gagal untuk kueri 'GetDepartments'. Terjadi kesalahan saat menjalankan definisi perintah. Lihat pengecualian dalam untuk detailnya. Pesan InnerException: Eksekusi batch dihentikan karena permintaan debugger.

Jika saya "Membersihkan" solusi, dan kemudian memulai aplikasi, semuanya berfungsi kembali.

Saya telah mencoba untuk mengisolasi kesalahan sebenarnya, tetapi kesalahan itu terjadi selama panggilan balik operasi Load, dan saya tidak yakin apa yang sedang terjadi.

Saya mengaktifkan SQL Profiler, dan kuerinya terlihat sama dan saya rasa saya tidak mengalami masalah di server.

Setiap petunjuk akan dihargai. Sudah terlalu lama untuk membangunnya!

R


person codeputer    schedule 10.11.2011    source sumber


Jawaban (3)


Fakta bahwa membersihkan larutan dapat membantu dapat berarti salah satu dari dua hal berikut:

  1. Anda memulai ulang solusi dan mengatur ulang sesuatu (kumpulan koneksi, utas, cache pemuat kelas, dll). Coba mulai ulang solusinya tanpa membersihkan untuk melihat apakah itu masalahnya
  2. Proses pembangunan Anda entah bagaimana menghasilkan DLL untuk kode yang sama di beberapa lokasi dan ketika Anda melakukan pembangunan dasar, hanya satu yang diperbarui. Hal ini dapat menyebabkan ketidakcocokan antarmuka, ketidakcocokan versi serialisasi, atau masalah serupa lainnya. Coba cari nama DLL di seluruh solusi dan lihat berapa banyak tempat yang muncul. Kemudian lakukan build dasar dan lihat berapa banyak dari mereka yang mengubah stempel waktunya. Demikian pula, coba gunakan FileMon untuk melihat dari mana DLL sebenarnya dimuat.
person Alexandre Rafalovitch    schedule 22.11.2011
comment
FileMon - tidak terbiasa dengan alat ini. Akan memeriksanya, dan bagaimana penggunaannya dengan VS. Terima kasih - person codeputer; 24.11.2011
comment
Sebenarnya, kesalahanku. FileMon sekarang menjadi Pemantau Proses. Ini hanyalah salah satu dari banyak - sungguh menakjubkan - alat dari perusahaan bernama SysInternals (sejak diakuisisi oleh Microsoft). Pastikan Anda juga melihat alat lain di sana. - person Alexandre Rafalovitch; 24.11.2011

Coba nonaktifkan debugging SQL, hanya untuk itu:

Properti Proyek > Debug > [hapus centang] Aktifkan debugging SQL Server

person Derreck Dean    schedule 15.11.2011

Jawaban sebelumnya akan membantu. Ini terkait dengan operasi pemuatan, karena metode ini menanyakan database yang mendasarinya (mungkin melalui ORM tapi itu tidak masalah, yang penting adalah di mana SqlConnection dibuka).
Jika Anda memerlukan debugging server sql, ambil lihat tautan ini dari MS, yang menjelaskan cara menyiapkannya (Anda memerlukan hak istimewa administrator)
Sejauh menyangkut "solusi bersih", saya rasa ini terkait dengan ketidakcocokan pdb dengan rakitan yang dijalankan, (rakitan yang berjalan dalam proses di mana debuger VS berada terlampir) ini akan menonaktifkan debugging untuk perakitan itu, sehingga, Anda tidak dikenai pengecualian.

Semoga ini bisa membantu,
Marco

person mCasamento    schedule 16.11.2011