Bạn hiện đang ngoại tuyến, hãy chờ internet để kết nối lại

Lỗi xảy ra khi bạn gỡ lỗi một COM + thành phần trong IDE Visual Basic với một khách hàng ASP

QUAN TRỌNG: Bài viết này được dịch bằng phần mềm dịch máy của Microsoft chứ không phải do con người dịch. Microsoft cung cấp các bài viết do con người dịch và cả các bài viết do máy dịch để bạn có thể truy cập vào tất cả các bài viết trong Cơ sở Kiến thức của chúng tôi bằng ngôn ngữ của bạn. Tuy nhiên, bài viết do máy dịch không phải lúc nào cũng hoàn hảo. Loại bài viết này có thể chứa các sai sót về từ vựng, cú pháp hoặc ngữ pháp, giống như một người nước ngoài có thể mắc sai sót khi nói ngôn ngữ của bạn. Microsoft không chịu trách nhiệm về bất kỳ sự thiếu chính xác, sai sót hoặc thiệt hại nào do việc dịch sai nội dung hoặc do hoạt động sử dụng của khách hàng gây ra. Microsoft cũng thường xuyên cập nhật phần mềm dịch máy này.

Nhấp chuột vào đây để xem bản tiếng Anh của bài viết này:259725
TRIỆU CHỨNG
Khi bạn gỡ lỗi một Microsoft COM + Phiên bản 1.0 thành phần trong Visual Basic 6.0 trên một máy tính dựa trên Microsoft Windows 2000, sau thông báo lỗi có thể xuất hiện trong trình duyệt khi khách hàng là một máy chủ đang hoạt động Các trang (ASP) trang:
Hệ phục vụ đối tượng, ASP 0178 (0x800A0005) Các cuộc gọi đến Server.CreateObject thất bại trong khi kiểm tra quyền truy cập. Truy cập là bị từ chối để đối tượng này.
Khi bạn gỡ lỗi một Microsoft COM + Phiên bản 1.5 Thành phần trong Visual Basic 6.0 trên một máy tính dựa trên Microsoft Windows XP, các sau thông báo lỗi có thể xuất hiện trong trình duyệt khi khách hàng là một hoạt động Server Pages (ASP) trang:
Hệ phục vụ đối tượng, ASP 0178 (0x800A0005) các cuộc gọi đến Server.CreateObject thất bại trong khi kiểm tra quyền truy cập. Truy cập bị từ chối để đối tượng này.
Hành vi này chỉ xảy ra khi bạn chạy COM + phần từ trong Visual Basic tích hợp phát triển môi trường (IDE). Lỗi xảy ra khi bạn chạy COM + thành phần một nhà nước biên dịch bên trong ứng dụng COM +.
NGUYÊN NHÂN
Authenticating người sử dụng, thường việc IUSR_<machinename> Tài khoản nếu bạn đang sử dụng truy cập vô danh, không có quyền thích hợp để truy nhập hệ phục vụ DCOM (VB6.exe ở đây trường hợp). Khi bạn đang gỡ lỗi COM + thành phần trong IDE Visual Basic, các phát động người dùng là người dùng tương tác; người dùng đang truy cập DCOM Máy chủ là người dùng authenticating.</machinename>

Vì không có mục nhập DCOM cho VB6.exe, DCOM sử dụng các cấp phép mặc định. Trong Windows 2000 và Windows XP, các DCOM Default quyền truy nhập chỉ được đưa ra vào tài khoản của hệ thống và các tung ra người dùng theo mặc định. Bởi vì người dùng phát động và người sử dụng truy cập vào hệ phục vụ DCOM là không giống, thông báo lỗi được hiển thị trong các triệu chứng"" phần xảy ra.
GIẢI PHÁP
Có hai đề nghị cách giải quyết:

Workaround Workaround 1

Thêm một mục nhập DCOM cho VB6.exe vào sổ đăng ký. Điều này cho phép bạn để thiết lập cụ thể DCOM phép để gỡ lỗi COM + thành phần trong Visual Basic.
  1. Tạo các mục nhập cho VB ASP gỡ lỗi trong DCOM:
    1. Bắt đầu Microsoft Notepad hoặc một trình soạn thảo văn bản và loại chữ cú pháp sau:
      REGEDIT4[HKEY_CLASSES_ROOT\CLSID\{70F214BA-94E2-4bdf-8F30-32CB4A905E4D}]@="VB ASP Debugging"[HKEY_CLASSES_ROOT\CLSID\{70F214BA-94E2-4bdf-8F30-32CB4A905E4D}\LocalServer32]@="vb6.exe"[HKEY_CLASSES_ROOT\AppID\vb6.exe]"AppId"="{70F214BA-94E2-4bdf-8F30-32CB4A905E4D}"
    2. Lưu tập tin là Vbaspdbg.reg.
    3. Xác định vị trí thư mục nơi bạn lưu các tập tin Vbaspdbg.reg và bấm đúp vào tập tin thanh (nó sẽ tự động ghi chính nó trong các cửa sổ đăng ký).
  2. Thêm các Mọi người tài khoản cho các cấp phép DCOM cho Visual Basic ASP gỡ lỗi.

    Windows 2000
    1. Bắt đầu DCOMCNFG. Trên các Bắt đầu trình đơn, nhấp vào Chạy, và sau đó gõ dcomcnfg trong hộp thoại hộp.
    2. Trên các Phân phối COM cấu hình thuộc tính Trang, bấm vào các Các ứng dụng tab, chọn VB ASP gỡ lỗi từ danh sách, và sau đó bấm Thuộc tính.
    3. Trong các VB ASP gỡ lỗi Properties bảng thuộc tính, bấm các Chứng khoán tab, và sau đó bấm vào để chọn các Sử dụng quyền truy cập tuỳ chỉnh hộp kiểm. Nhấp vào Chỉnh sửa.
    4. Trong các Cấp phép giá trị sổ đăng ký cửa sổ, bấm Thêm, và sau đó thêm các Mọi người tài khoản cho Cho phép truy cập.
    5. Nhấp vào Ok, và sau đó nhấp vào Áp dụng để áp dụng những thay đổi và thoát khỏi các Phân phối COM cấu hình thuộc tính Trang.
    6. Khởi động lại máy tính để cho những thay đổi có có hiệu lực.
    Windows XP

    1. Bắt đầu COM + Explorer. Trên các Bắt đầu trình đơn, nhấp vào Công cụ quản trị, và sau đó nhấp vào Thành phần dịch vụ.
    2. Nhấn vào đây để mở rộng Thành phần dịch vụ, nhấn vào đây để mở rộng Máy vi tính, nhấn vào đây để mở rộng Máy tính của tôi, và sau đó nhấp vào để mở rộng DCOM Config.
    3. Nhấp chuột phải VB ASP gỡ lỗi, và bấm Thuộc tính.
    4. Trên các Chứng khoán tab, dưới Quyền truy nhập, chọn Tùy chỉnh, và sau đó nhấp vào Chỉnh sửa.
    5. Trong các Sự cho phép truy cập cửa sổ, bấm Thêm, và sau đó thêm các Tất cả mọi người cho phép truy cập tài khoản tùy chọn.
    6. Nhấp vào Ok, bấm Áp dụng, và sau đó nhấp vào Ok để áp dụng những thay đổi và thoát khỏi các thuộc tính cấu hình DCOM Trang.
    7. Khởi động lại máy tính để cho những thay đổi có có hiệu lực.

Workaround Workaround 2

  1. Để gỡ lỗi các mục đích, cấu hình ứng dụng Bảo vệ các thư mục ảo nơi cư trú của trang ASP "cao Cô (lập)." Lực lượng này trang ASP để chạy trong quy trình riêng của mình, cho phép bảo mật phải được thay đổi mà không ảnh hưởng đến phần còn lại của trang Web.
    1. Bắt đầu bộ quản lý dịch vụ Internet.
    2. Nhấp chuột phải vào thư mục ảo nơi trang ASP cư trú, và sau đó nhấp vào Thuộc tính.
    3. Bấm vào các Thư mục ảo tab, và sau đó chọn Cao (cô lập) trong các Bảo vệ ứng dụng danh sách thả xuống.
    4. Nhấp vào Áp dụng.
  2. Bật tắt chưa xác định người truy cập cho thư mục ảo này và Đảm bảo Tích hợp Windows xác thực hoặc Xác thực cơ sở được chọn:
    1. Trên các Thuộc tính hộp thoại cho các thư mục ảo, bấm vào các Bảo mật thư mục tab.
    2. Nhấp vào Chỉnh sửa cho Chưa xác định người truy cập và điều khiển xác thực.
    3. Hãy chắc chắn rằng hộp kiểm chưa xác định người truy cập xóa.
    4. Nhấp vào một trong hai Tích hợp Windows xác thực hoặc Xác thực cơ sở.
  3. Nếu xác thực tích hợp Windows được sử dụng, sau đó chạy các khách hàng duyệt để truy cập vào trang ASP dưới cùng một tài khoản người dùng như là thị giác Cơ bản IDE gỡ lỗi phiên. Nếu xác thực cơ bản được sử dụng, hãy nhập tên người dùng và mật khẩu cho trương mục người dùng cùng một IDE Visual Basic gỡ lỗi phiên đang chạy dưới.

    Chú ý Các workaround thứ hai giả định rằng COM "Default Access Quyền"đã không được thay đổi. Nếu các "Default quyền truy nhập" có không bao giờ thay đổi, sau đó COM xây dựng danh sách điều khiển truy nhập (ACL) mà cho phép hệ thống tài khoản và máy chủ danh tính. Trong trường hợp này, định danh máy chủ là người dùng đăng nhập chạy gỡ lỗi Visual Basic IDE Phiên làm việc. Nếu DCOM "Default quyền truy nhập" đã được thay đổi, sau đó các Thứ hai workaround đòi hỏi rằng người dùng tài khoản mà IDE Visual Basic gỡ lỗi phiên đang chạy dưới được thêm vào "Default quyền truy nhập". Điều này có thể được thực hiện bằng cách sử dụng DCOMCNFG. Để có thêm thông tin, xem "an ninh COM" liên kết trong phần "Thông tin thêm".
TÌNH TRẠNG
Hành vi này là do thiết kế.
THÔNG TIN THÊM
Hành vi này không xảy ra trong Microsoft Windows NT 4.0 và IIS 4.0. Để thêm thông tin về lỗi ASP 0178 trên một Windows NT 4.0 dựa trên máy tính, bấm vào số bài viết dưới đây để xem các bài viết trong cơ sở kiến thức Microsoft:
198432 PRB: Hệ phục vụ đối tượng lỗi 'ASP 0178' Instantiating COM Object
Để có thêm thông tin về an ninh COM, ghé thăm Web site sau của Microsoft Developer Network (MSDN):

Cảnh báo: Bài viết này đã được dịch tự động

Thuộc tính

ID Bài viết: 259725 - Xem lại Lần cuối: 08/21/2011 09:42:00 - Bản sửa đổi: 2.0

Microsoft Active Server Pages 4.0

  • kbbug kbcomplus kbdebug kbprb kbvbp600 kbmt KB259725 KbMtvi
Phản hồi