ข้อผิดพลาดเกิดขึ้นเมื่อมีการดีบักส่วน COM + ประกอบใน IDE Visual Basic กับไคลเอ็นต์เป็น ASP

การแปลบทความ การแปลบทความ
หมายเลขบทความ (Article ID): 259725 - ผลิตภัณฑ์ที่เกี่ยวข้องในบทความนี้
ขยายทั้งหมด | ยุบทั้งหมด

เนื้อหาบนหน้านี้

อาการ

เมื่อคุณทำการดีบัก Microsoft COM + รุ่น 1.0 คอมโพเนนต์ใน Visual Basic 6.0 นคอมพิวเตอร์ที่ใช้ Microsoft Windows 2000 ข้อความแสดงข้อผิดพลาดต่อไปนี้อาจปรากฏขึ้นในเบราว์เซอร์เมื่อไคลเอ็นต์มีเพจที่มี Active Server หน้า (ASP):
ออบเจ็กต์เซิร์ฟเวอร์ 0178 ASP (0x800A0005) เรียก Server.CreateObject ล้มเหลวขณะกำลังตรวจสอบสิทธิ์ ไม่สามารถเข้าถึงวัตถุนี้
เมื่อคุณทำการดีบัก Microsoft COM + รุ่น 1.5 คอมโพเนนต์ใน Visual Basic 6.0 นคอมพิวเตอร์ที่ใช้ Microsoft Windows XP ข้อความแสดงข้อผิดพลาดต่อไปนี้อาจปรากฏขึ้นในเบราว์เซอร์เมื่อไคลเอ็นต์มีเพจที่มี Active Server หน้า (ASP):
วัตถุเซิร์ฟเวอร์ ASP 0178 (0x800A0005) เรียก Server.CreateObject ล้มเหลวขณะกำลังตรวจสอบสิทธิ์ ไม่สามารถเข้าถึงวัตถุนี้
ลักษณะการทำงานนี้เกิดขึ้นเมื่อคุณเรียกใช้ส่วน COM + ประกอบจากภายในสภาพแวดล้อมของการพัฒนารวม Visual Basic (IDE) เท่านั้น ข้อผิดพลาดไม่เกิดขึ้นเมื่อคุณเรียกใช้คอมโพเนนต์ COM + ในสถานะที่คอมไพล์ภายในโปรแกรมประยุกต์ COM +

สาเหตุ

ผู้ authenticating ใช้ มัก IUSR_ <machinename>บัญชีถ้าคุณกำลังใช้การเข้าถึงแบบไม่ระบุชื่อ ไม่มีสิทธิ์ที่เหมาะสมเพื่อเข้าถึงเซิร์ฟเวอร์ DCOM (VB6.exe ในกรณีนี้) เมื่อคุณกำลังดีบัก COM + ส่วนประกอบใน IDE Visual Basic ผู้ใช้ launching คือ ผู้ใช้แบบโต้ตอบ ผู้ใช้ที่กำลังเข้าถึงเซิร์ฟเวอร์ DCOM ได้ authenticating ผู้ใช้</machinename>

เนื่องจากไม่มีรายการ DCOM สำหรับ VB6.exe, DCOM ใช้ค่าเริ่มต้น ใน Windows 2000 และ Windows XP สิทธิ์การเข้าถึงเริ่มต้น DCOM ได้เท่านั้นให้บัญชีของระบบและผู้ใช้ launching โดยค่าเริ่มต้น เนื่องจากผู้ใช้ launching และผู้ใช้เข้าถึงเซิร์ฟเวอร์ DCOM ไม่เหมือนกัน ข้อความแสดงข้อผิดพลาดที่แสดงใน "อาการ" ส่วนเกิดขึ้น

การแก้ไข

มีการแก้ไขปัญหาที่แนะนำที่สอง:

วิธีแก้ปัญหา 1

เพิ่มรายการ DCOM สำหรับ VB6.exe ลงในรีจิสทรี ซึ่งช่วยให้คุณสามารถตั้งค่าสิทธิ์ DCOM เฉพาะสำหรับส่วนประกอบ COM + ตรวจแก้จุดบกพร่องใน Visual Basic
  1. สร้างรายการสำหรับASP vb แก้จุดบกพร่องใน DCOM:
    1. เริ่มการทำงาน Microsoft Notepad หรือโปรแกรมแก้ไขข้อความอื่น และพิมพ์ case-sensitive ไวยากรณ์ต่อไปนี้:
      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. บันทึกแฟ้มเป็น Vbaspdbg.reg
    3. ค้นหาโฟลเดอร์ที่คุณได้บันทึกแฟ้ม Vbaspdbg.reg และคลิกสองครั้งที่แฟ้ม (ลงดังกล่าวโดยอัตโนมัติทะเบียนตัวเองใน Windows รีจิสทรี)
  2. เพิ่มEveryoneบัญชีเป็น DCOM สำหรับ ASP พื้นฐานแสดงผลที่ดีบัก

    Windows 2000:
    1. เริ่ม DCOMCNFG ในการเริ่มการทำงานเมนู คลิกเรียกใช้จากนั้น พิมพ์dcomcnfgในกล่องโต้ตอบ
    2. ในการคุณสมบัติการตั้งค่าคอนฟิก COM แบบกระจายหน้า คลิกการโปรแกรมประยุกต์แท็บ การเลือกASP vb แก้จุดบกพร่องจากรายการ แล้วคลิกคุณสมบัติ.
    3. ในการคุณสมบัติการแก้จุดบกพร่องของ vb ASPแผ่นงานคุณสมบัติ คลิกการsecuritiesแท็บ และคลิกเพื่อเลือกนั้นใช้สิทธิ์การเข้าถึงแบบกำหนดเองกล่องกาเครื่องหมาย คลิกแก้ไข.
    4. ในการการอนุญาตค่ารีจิสทรีหน้าต่าง คลิกaddแล้ว เพิ่มการEveryoneบัญชีสำหรับอนุญาตการเข้าถึง.
    5. คลิกตกลงแล้ว คลิกนำไปใช้เมื่อต้องการใช้การเปลี่ยนแปลง และออกแบบคุณสมบัติการตั้งค่าคอนฟิก COM แบบกระจายหน้า
    6. รีสตาร์ทคอมพิวเตอร์เพื่อให้การเปลี่ยนแปลงมีผลบังคับใช้
    Windows XP:

    1. เริ่ม Explorer COM + ในการเริ่มการทำงานเมนู คลิกเครื่องมือการดูแลระบบแล้ว คลิกบริการคอมโพเนนต์.
    2. คลิกเพื่อขยายบริการคอมโพเนนต์คลิกเพื่อขยายคอมพิวเตอร์คลิกเพื่อขยายMy Computerจากนั้น คลิกเพื่อขยายการกำหนดค่า dcom.
    3. คลิกขวาASP vb แก้จุดบกพร่องและคลิกคุณสมบัติ.
    4. ในการsecuritiesแท็บ ภายใต้สิทธิ์ในการเข้าถึงเลือกการกำหนดเองแล้ว คลิกแก้ไข.
    5. ในการการอนุญาตการเข้าถึงหน้าต่าง คลิกaddแล้ว เพิ่มการทุกคนบัญชีสำหรับการอนุญาตให้เข้าถึงตัวเลือก
    6. คลิกตกลงคลิกนำไปใช้แล้ว คลิกตกลงเมื่อต้อง การใช้การเปลี่ยนแปลงการออกจากหน้าคุณสมบัติของการกำหนดค่า DCOM
    7. รีสตาร์ทคอมพิวเตอร์เพื่อให้การเปลี่ยนแปลงมีผลบังคับใช้

วิธีแก้ปัญหา 2

  1. สำหรับวัตถุประสงค์ในการแก้จุดบกพร่อง การแอพลิเคชันการป้องกันของเสมือน Directory ที่เพจ ASP อยู่ไปยังที่ตั้งค่าคอนฟิก "ความละเอียดสูง (Isolated) " ซึ่งเป็นบังคับเพจ ASP ให้ทำงานของตัวเองระหว่าง ซึ่งช่วยให้การรักษาความปลอดภัยที่มีการเปลี่ยนแปลง โดยไม่มีผลกระทบกับส่วนที่เหลือของเว็บไซต์
    1. เริ่มโปรแกรมจัดการบริการอินเทอร์เน็ต
    2. คลิกขวาที่ไดเรกทอรีเสมือนที่เพจ ASP อยู่ และจากนั้น คลิกคุณสมบัติ.
    3. คลิกการไดเรกทอรีเสมือนแท็บ และเลือกแล้วความละเอียดสูง (Isolated)ในการการป้องกันโปรแกรมประยุกต์รายการหล่นลง
    4. คลิกนำไปใช้.
  2. ปิดการใช้การเข้าถึงแบบไม่ระบุชื่อสำหรับนี้ไดเรกทอรีเสมือน และตรวจสอบให้แน่ใจว่าพิสูจน์ตัวจริงของ Windows แบบรวมหรือการรับรองความถูกต้องเบื้องต้นเลือก:
    1. ในการคุณสมบัติกล่องโต้ตอบสำหรับไดเรกทอรีเสมือน คลิกการความปลอดภัยของไดเรกทอรีแท็บ
    2. คลิกแก้ไขสำหรับการเข้าถึงแบบไม่ระบุชื่อและการควบคุมการรับรองความถูกต้อง
    3. ตรวจสอบให้แน่ใจว่า มีการล้างข้อมูลกล่องกาเครื่องหมายการเข้าถึงแบบไม่ระบุชื่อ
    4. คลิกอย่างใดอย่างหนึ่งพิสูจน์ตัวจริงของ Windows แบบรวมหรือการรับรองความถูกต้องเบื้องต้น.
  3. ถ้ามีใช้การรับรองความถูกต้องของ Windows แบบรวม จากนั้นเรียกใช้เบราว์เซอร์ไคลเอนต์การเข้าถึงเพจ ASP ภายใต้บัญชีผู้ใช้เดียวกันเป็นเซสชันการตรวจแก้จุดบกพร่อง IDE Visual Basic ถ้ามีใช้การรับรองความถูกต้องเบื้องต้น ป้อนชื่อผู้ใช้และรหัสผ่านสำหรับบัญชีผู้ใช้เดียวกับที่ใช้งานเซสชันการตรวจแก้จุดบกพร่องของ Visual Basic IDE ภายใต้

    หมายเหตุ:วิธีแก้ปัญหาที่สองสันนิษฐานว่า COM "เริ่มต้นสิทธิ์การเข้าถึง" ได้ไม่ถูกเปลี่ยนแปลง ถ้าการ "เริ่มต้นการเข้าถึงสิทธิ์" ได้ไม่ต้องการเปลี่ยนแปลง COM constructs มีตัวควบคุมรายการการเข้าถึง (ACL) ที่ให้สิทธิ์ในการใช้บัญชีของระบบและข้อมูลเฉพาะตัวของเซิร์ฟเวอร์ ในสถานการณ์นี้ รหัสประจำตัวของเซิร์ฟเวอร์เป็นผู้ใช้เข้าสู่ระบบในการใช้งานเซสชันการตรวจแก้จุดบกพร่อง IDE Visual Basic If the DCOM "Default Access Permissions" have been altered, then the second workaround requires that the user account that the Visual Basic IDE debug session is running under be added to "Default Access Permissions". This can be done by using DCOMCNFG. For additional information, see the "COM security" link in the "More Information" section.

สถานะ

ลักษณะการทำงานนี้เกิดจากการออกแบบ

ข้อมูลเพิ่มเติม

This behavior does not occur in Microsoft Windows NT 4.0 and IIS 4.0.For additional information regarding the ASP 0178 error on a Windows NT 4.0-based computer, click the article number below to view the article in the Microsoft Knowledge Base:
198432PRB: Server Object Error 'ASP 0178' Instantiating COM Object
For additional information about COM security, visit the following Microsoft Developer Network (MSDN) Web site:
http://msdn2.microsoft.com/en-us/library/ms686599.aspx

คุณสมบัติ

หมายเลขบทความ (Article ID): 259725 - รีวิวครั้งสุดท้าย: 8 มกราคม 2554 - Revision: 2.0
ใช้กับ
  • Microsoft Active Server Pages 4.0 เมื่อใช้กับ:
    • Microsoft Windows XP Professional Edition
Keywords: 
kbbug kbcomplus kbdebug kbprb kbvbp600 kbmt KB259725 KbMtth
แปลโดยคอมพิวเตอร์
ข้อมูลสำคัญ: บทความนี้แปลโดยซอฟต์แวร์การแปลด้วยคอมพิวเตอร์ของ Microsoft แทนที่จะเป็นนักแปลที่เป็นบุคคล Microsoft มีบทความที่แปลโดยนักแปลและบทความที่แปลด้วยคอมพิวเตอร์ เพื่อให้คุณสามารถเข้าถึงบทความทั้งหมดในฐานความรู้ของเรา ในภาษาของคุณเอง อย่างไรก็ตาม บทความที่แปลด้วยคอมพิวเตอร์นั้นอาจมีข้อบกพร่อง โดยอาจมีข้อผิดพลาดในคำศัพท์ รูปแบบการใช้ภาษาและไวยากรณ์ เช่นเดียวกับกรณีที่ชาวต่างชาติพูดผิดเมื่อพูดภาษาของคุณ Microsoft ไม่มีส่วนรับผิดชอบต่อความคลาดเคลื่อน ความผิดพลาดหรือความเสียหายที่เกิดจากการแปลเนื้อหาผิดพลาด หรือการใช้บทแปลของลูกค้า และ Microsoft มีการปรับปรุงซอฟต์แวร์การแปลด้วยคอมพิวเตอร์อยู่เป็นประจำ
ต่อไปนี้เป็นฉบับภาษาอังกฤษของบทความนี้:259725

ให้ข้อเสนอแนะ

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com