หมายเลขบทความ (Article ID): 827190 - รีวิวครั้งสุดท้าย: 14 มกราคม 2554 - Revision: 2.0

PRB: การข้อความข้อผิดพลาด "เซิร์ฟเวอร์ผิดพลาดใน /ApplicationName แอพลิเคชัน" เมื่อโปรแกรมประยุกต์ ASP.NET ที่ใช้การเลียนแบบ

เคล็ดลับของระบบThis article applies to a different operating system than the one you are using. Article content that may not be relevant to you is disabled.

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

ขยายทั้งหมด | ยุบทั้งหมด

อาการ

เมื่อคุณอัพเกรด Microsoft .NET Framework รุ่น 1.0 รุ่น 1.1 และจากนั้นคุณรันโปรแกรมประยุกต์ Microsoft ASP.NET ที่ใช้บัญชี impersonated เพื่อเข้าถึงฐานข้อมูลการเข้าถึงของ Microsoft คุณอาจได้รับข้อความแสดงข้อความแสดงข้อผิดพลาดต่อไปนี้:
ข้อผิดพลาดของเซิร์ฟเวอร์ใน ' /applicationname' แอพลิเคชัน

ข้อผิดพลาดที่ไม่ระบุ

คำอธิบาย:: ข้อยกเว้น unhandled เกิดขึ้นในระหว่างการดำเนินการร้องขอเว็บปัจจุบัน กรุณาตรวจทานสืบค้นกลับแถวสำหรับข้อมูลเพิ่มเติม เกี่ยวกับข้อผิดพลาด และที่ได้ถูกสร้างในรหัส

รายละเอียดของข้อยกเว้น: System.Data.OleDb.OleDbException: Unspecified ข้อผิดพลาด

สาเหตุ

ใน.NET Framework 1.0 โปรแกรมประยุกต์ ASP.NET ใช้ TEMP โฟลเดอร์ที่ถูกกำหนด โดยตัวแปรสภาพแวดล้อมในการเก็บแฟ้มชั่วคราว ใน.NET Framework 1.1 โปรแกรมประยุกต์ ASP.NET ใช้โฟลเดอร์โปรไฟล์สำหรับบัญชี ASPNET เครื่องเขียนแฟ้มชั่วคราว โฟลเดอร์ของโพรไฟล์นี้เป็น C:\Documents และ Settings\Servername\aspnet\temp ASPNET บัญชีที่มีสิทธิ์ในการเขียนไปยังโฟลเดอร์นี้

อย่างไรก็ตาม ถ้าโปรแกรมประยุกต์ ASP.NET ใช้การเลียนแบบ แอคเคาท์เป็น impersonated อาจไม่มีการอนุญาตให้บันทึกแฟ้มชั่วคราวในโฟลเดอร์นี้ ดังนั้น เมื่อเว็บเซิร์ฟเวอร์ได้รับการปรับรุ่นเป็น.NET Framework 1.1 โปรแกรมประยุกต์อาจล้มเหลว ด้วยข้อความแสดงข้อผิดพลาดที่กล่าวถึงในส่วน "อาการ" ของบทความนี้

การแก้ไข

เมื่อต้องการแก้ไขปัญหานี้ กำหนดให้อ่าน และเขียนลงสิทธิ์สำหรับบัญชี impersonated C:\Documents และ Settings\Servername\ASPNET โฟลเดอร์ โดยให้ทำตามขั้นตอนต่อไปนี้::
  1. ใน Windows Explorer ค้นหา C:\Document settings\Servernameโฟลเดอร์การตั้งค่า \ASPNET\local
  2. คลิกขวาtempโฟลเดอร์
  3. คลิกคุณสมบัติแล้ว คลิกการรักษาความปลอดภัย.
  4. คลิกaddประเภท:Servername\aspnetในการเลือกผู้ใช้หรือกลุ่มกล่อง แล้วคลิกตกลง.
  5. ตรวจสอบให้แน่ใจว่าการควบคุมทั้งหมดกล่องกาเครื่องหมายเลือก และจากนั้น คลิกตกลง.

สถานะ

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

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

สร้างโปรแกรมประยุกต์ของ ASP.NET เว็บใหม่

  1. เริ่ม Microsoft Visual Studio .NET
  2. สร้างโปรแกรมประยุกต์การเว็บ ASP.NET ใหม่ โดยใช้ Microsoft Visual c# .NET หรือ Microsoft Visual Basic .NET ชื่อโครงการเป็นWebApp1. โดยค่าเริ่มต้น WebForm1.aspx ถูกสร้างขึ้น
  3. คลิกสองครั้งWebForm1.aspx. แสดงหน้า behind รหัส
  4. เพิ่มการอ้างอิง namespace ต่อไปนี้ในตอนต้นของแฟ้มคลา behind รหัส:

    visual c# .NET รหัส
    using System.Data.OleDb;
    visual Basic .NET รหัส
    Imports System.Data.OleDb
  5. แทนPage_Loadตัวจัดการเหตุการณ์ ด้วยรหัสต่อไปนี้:

    visual c# .NET รหัส
    private void Page_Load(object sender, System.EventArgs e)
    {
    // Use a string variable to hold the ConnectionString property.
     string connectString = "Provider=Microsoft.Jet.OLEDB.4.0;"
    		+ "Data Source=C:\\Program Files\\Microsoft Visual Studio\\VB98\\NWIND.MDB";	
    
    OleDbConnection cn = new OleDbConnection(connectString);
    //Open the connection.
    cn.Open();
    
    // Use a variable to hold the SQL statement.
    string selectString = "SELECT CustomerID, ContactName FROM Customers";
    
    // Create an OleDbCommand object.
    OleDbCommand cmd = new OleDbCommand(selectString,cn);
    
    OleDbDataReader reader = cmd.ExecuteReader();
    
    while(reader.Read())
     {	
      Response.Write(reader["CustomerID"].ToString()+ " : "+reader["ContactName"].ToString()+"<br>");
     }
    // Close the reader and the related connection.
     reader.Close();
     cn.Close();
    }
    
    visual Basic .NET รหัส
    Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
            'Use a string variable to hold the ConnectionString property.
            Dim connectString As String = "Provider=Microsoft.Jet.OLEDB.4.0;" & _
                                        "Data Source=C:\\Program Files\\Microsoft Visual Studio\\VB98\\NWIND.MDB"
         
            Dim cn As OleDbConnection = New OleDbConnection(connectString)
    
            'Open the connection.
            cn.Open()
    
            'Use a variable to hold the SQL statement.
            Dim selectString As String = "SELECT CustomerID, ContactName,  FROM Customers"
           
            Dim cmd As OleDbCommand = New OleDbCommand(selectString, cn)
     
            Dim reader As OleDbDataReader = cmd.ExecuteReader()
    
            While (reader.Read())
                Response.Write(reader("CustomerID").ToString() + " : " + reader("ContactName").ToString() + "<br>")
            End While
    
            'Close the reader and the related connection.
            reader.Close()
            cn.Close()
    
        End Sub
    
    หมายเหตุ:ปรับเปลี่ยนconnectStringตัวแปรที่ตำแหน่งเริ่มต้นของรหัสการชี้ไปที่ตำแหน่งที่ตั้งของฐานข้อมูล Northwind ของคุณ

การตั้งค่าการเลียนแบบ

  1. ในโซลูชัน Explorer คลิกสองครั้งที่แฟ้ม Web.config
  2. ภายใต้การ<system.web></system.web>ส่วน เพิ่มองค์ประกอบต่อไปนี้สำหรับการเลียนแบบ:
    <identity impersonate="true" />
  3. บันทึก และปิดแฟ้ม Web.config

เรียกใช้ ASP.NET 1.0 แอพลิเคชัน

ในการการสร้างเมนู คลิกเริ่มการทำงาน.

ปรับรุ่นจาก.NET Framework 1.0 เพื่อ.NET Framework 1.1

เมื่อต้อง การดาวน์โหลด และติดตั้ง.NET Framework 1.1 แวะไปที่เว็บไซต์ต่อไปนี้ของ Microsoft:
http://msdn2.microsoft.com/en-us/netframework/aa731542.aspx (http://msdn2.microsoft.com/en-us/netframework/aa731542.aspx)

เรียกใช้ ASP.NET 1.1 แอพลิเคชัน

เมื่อต้องการเรียกใช้โปรแกรมประยุกต์ WebApp1 พิมพ์ URL ต่อไปนี้ใน Microsoft Internet Explorer:
http://locahost/WebApp1/WebForm1.aspx
คุณอาจสังเกตเห็นข้อความแสดงข้อความแสดงข้อผิดพลาดที่กล่าวไว้ในส่วน "อาการ" ของบทความนี้

ข้อมูลอ้างอิง

หากต้องการทราบข้อมูลเพิ่มเติม โปรดคลิกที่หมายเลขบทความต่อไปนี้เพื่อดูบทความใน Microsoft Knowledge Base::
306158  (http://support.microsoft.com/kb/306158/ ) ข้อมูล: เลียนแบบที่ใช้ในแอพลิเคชันที่ ASP.NET

317012  (http://support.microsoft.com/kb/317012/ ) ข้อมูล: กระบวนการและข้อมูลเฉพาะตัวของการร้องขอใน ASP.NET

323293  (http://support.microsoft.com/kb/323293/ ) การแก้ไข: ข้อความแสดง "ถูกการเข้าถึงถูกปฏิเสธ" ข้อผิดพลาดข้อเมื่อคุณพยายามจะเข้าถึงบริการทำดัชนีจาก ASP.NET ด้วยการเปิดใช้งานการเลียนแบบ

ใช้กับ
  • Microsoft ASP.NET 1.1
Keywords: 
kberrmsg kbwebserver kbconfig kbprb kbmt KB827190 KbMtth
แปลโดยคอมพิวเตอร์แปลโดยคอมพิวเตอร์
ข้อมูลสำคัญ: บทความนี้แปลโดยซอฟต์แวร์การแปลด้วยคอมพิวเตอร์ของ Microsoft แทนที่จะเป็นนักแปลที่เป็นบุคคล Microsoft มีบทความที่แปลโดยนักแปลและบทความที่แปลด้วยคอมพิวเตอร์ เพื่อให้คุณสามารถเข้าถึงบทความทั้งหมดในฐานความรู้ของเรา ในภาษาของคุณเอง อย่างไรก็ตาม บทความที่แปลด้วยคอมพิวเตอร์นั้นอาจมีข้อบกพร่อง โดยอาจมีข้อผิดพลาดในคำศัพท์ รูปแบบการใช้ภาษาและไวยากรณ์ เช่นเดียวกับกรณีที่ชาวต่างชาติพูดผิดเมื่อพูดภาษาของคุณ Microsoft ไม่มีส่วนรับผิดชอบต่อความคลาดเคลื่อน ความผิดพลาดหรือความเสียหายที่เกิดจากการแปลเนื้อหาผิดพลาด หรือการใช้บทแปลของลูกค้า และ Microsoft มีการปรับปรุงซอฟต์แวร์การแปลด้วยคอมพิวเตอร์อยู่เป็นประจำ
ต่อไปนี้เป็นฉบับภาษาอังกฤษของบทความนี้:827190  (http://support.microsoft.com/kb/827190/en-us/ )