2012-03-12 36 views
5

Tôi đang sử dụng NHunspell trong một ứng dụng web ASP.net. NHunspell kết thúc tốt đẹp hoặc Hunspellx86.dll hoặc Hunspellx64.dll, cả hai đều không được quản lý dll.Không thể xóa dll được quản lý sau khi sử dụng nó trong ứng dụng web asp.net

Vấn đề là: khi tôi vứt bỏ đối tượng NHunspell (gọi FreeLibrary từ kernel32.dll), có vẻ như IIS vẫn đang treo trên nó - được minh chứng bằng cả windbg và tasklist /m. Đây là vấn đề nếu, nói, tôi cố gắng thay thế dll đó bằng cách sử dụng một quá trình xây dựng tự động, hoặc chạy một trình cài đặt để cập nhật ứng dụng web của tôi: mọi thứ đều thất bại vì dll đó đang được sử dụng.

Tôi tự hỏi liệu có ai có thể xác nhận sự nghi ngờ của tôi rằng thực tế, IIS đang lưu vào bộ nhớ đệm không? Ngoài ra, tại sao tôi có thể xóa các dll được quản lý ngay từ dưới IIS (ngay cả khi tasklist báo cáo các dll này được IIS sử dụng)?

Cuối cùng, tôi đang tìm kiếm các đề xuất về những việc cần làm để thực sự có thể xóa dll này cho các bản dựng/cài đặt tự động?

Cảm ơn rất nhiều!

+1

Tùy chọn quá mức tôi đoán là 'iisadmin/stop' và' iisadmin/start' xung quanh các phần đó trong tòa nhà của bạn - giả sử công trình của bạn đang chạy với đủ quyền. – Rup

+0

Bạn cũng đã thử [Sysinternals Process Explorer] (http://technet.microsoft.com/en-us/sysinternals/bb896653) chưa? Bạn có thể thực hiện tìm kiếm xử lý cho tên DLL và xem chính xác quy trình nào vẫn đang giữ trên DLL - dịch vụ lõi IIS hoặc nhóm ứng dụng. Điều này có thể không cho bạn biết bất cứ điều gì mới, mặc dù. – Rup

+0

Chúng tôi đang gặp vấn đề tương tự này. –

Trả lời

0

Nếu bạn đang chạy trên IIS 6 hoặc cao hơn, bạn chỉ có thể dừng nhóm ứng dụng cụ thể. Tuy nhiên, lệnh xây dựng chính xác nào không ghi đè tệp? Chúng tôi sử dụng bước tự động hóa xây dựng TFS sao chép các tệp của chúng tôi ra một máy chủ thử nghiệm đang chạy IIS có tất cả các dll đang sử dụng và không có vấn đề gì. Những gì tôi không thể xác nhận là nó như thế nào, tôi nghi ngờ nó đang sử dụng XCOPY nhưng tôi không thể chắc chắn.

+0

Vâng, chúng tôi cũng sử dụng bước tự động hóa xây dựng TFS - đó là bước không thành công. –

Các vấn đề liên quan