2013-03-07 19 views
9

Tôi có một ứng dụng biểu mẫu cửa sổ có các điều khiển ocx của bên thứ ba. Lệnh sau được sử dụng để tạo một đối tượng trong thời gian chạy.ASP Không có lỗi giao diện như vậy khi tạo đối tượng

myObject = myApplication.CreateObject("ML.MFinder", True) 

tính năng này hoạt động bình thường và progID cũng chính xác. Vấn đề là khi làm như vậy trong dự án asp nơi tôi nhận được lỗi sau:

System.Runtime.InteropServices.COMException: No such interface supported 

at ML.MApplicationClass.CreateObject(String ProgID, Boolean Allocate)

Strange vì đối tượng ocx khác làm việc đúng cũng về dự án asp . Tôi đang sử dụng IIS 5.1, Windows XP Pro SP3 và khung 3.5. Ngoài ra tôi đã đăng ký ocx theo cách thủ công.

+0

bạn đã thêm tham chiếu chưa? –

+0

có chắc chắn. Đã thêm. – Jaume

+0

Mô hình luồng nào được hỗ trợ bởi ocx? – tcarvin

Trả lời

2

Điều khiển ocx này có cần truy cập ghi đọc cụ thể trên hệ thống tệp không? Nếu vậy thì bạn cần cấp quyền đối với cấp tệp hệ thống: IUSR_XXXXX = READ + EXECUTE.

Bạn cũng nên kiểm tra xem có bất kỳ phụ thuộc nào bị thiếu bằng công cụ Phụ thuộc Walker hay không.

Bạn có nhận được bất kỳ id lớp nào trong ngoại lệ không? Nếu vậy thì hãy kiểm tra xem classid đó có trong registry hay không.

+0

không có id lớp trong trường hợp ngoại lệ. Tôi đã đặt quyền cho tài khoản IUSR_ nhưng không thành công. Tuy nhiên, cảm ơn vì lời khuyên, tôi không biết điểm này. Nếu quyền là ok, làm thế nào để tiến hành? "không có lỗi giao diện như vậy" vẫn được hiển thị. – Jaume

+0

@Jaume: Bạn có thể chia sẻ thêm một số mã như quy trình mà bạn đang tạo đối tượng này không? Ngoài ra bạn đang sử dụng asp hay asp.net? –

+0

cảm ơn lời khuyên, tôi đã tạo một chủ đề mới khi phương thức webservice được gọi. Sau đó, bên trong chủ đề đó, không có lỗi nào được báo cáo. Cảm ơn bạn. – Jaume

2

Theo IIS bạn không có quy tắc tương tự để truy cập tệp hoặc dll bên ngoài. Tôi nghĩ rằng với các tập tin OCX IIS có thể thậm chí còn hạn chế hơn.

Tôi không nghĩ rằng vấn đề là tham chiếu hoặc điều gì đó tương tự. Như bạn đã nói, bạn đã đăng ký OCX, nhưng làm OCX này cũng có một số phụ thuộc? Họ cần được đăng ký đúng cách.

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