ปัญหาในการเรียกใช้เว็บไซต์. net framework 4.0 บน iis 7.0


119

เฮ้ฉันมีปัญหาในการทำงานบนเว็บไซต์.NET framework 4.0 IIS7.0ข้อผิดพลาดที่ฉันได้รับคือ:

ข้อผิดพลาด HTTP 404.2 - ไม่พบ "หน้าเว็บที่คุณกำลังร้องขอไม่สามารถทำหน้าที่เพราะISAPIและCGIรายการข้อ จำกัด การตั้งค่าบนเว็บเซิร์ฟเวอร์"

Module : IsapiModule , 
Notification : ExecuteRequestHandler, 
Handler : PageHandlerFactory-ISAPI-4.0_32bit , 
Error Code : 0x800704ec

คำตอบ:


289

ไปที่ตัวจัดการ IIS และคลิกที่ชื่อเซิร์ฟเวอร์ จากนั้นคลิกที่ไอคอน "ข้อ จำกัด ISAPI และ CGI" ใต้ส่วนหัว IIS เปลี่ยน ASP.NET 4.0 จาก "Not Allowed" เป็น "Allowed"


44
เน้น: คลิกที่ SERVER NAME ไม่ใช่ SITE NAME เพื่อค้นหาตัวเลือก
MacGyver

1
จริงๆแล้วฉันไม่มีตัวเลือก CGI ด้วยซ้ำ ฉันใช้ windows 7, 64 บิต พยายามทำให้ ssrs ทำงาน
Steam

คนที่คุณช่วยฉันไว้ :) ขอบคุณ :)
Anton Baksheiev

2
ให้แน่ใจว่าคุณเริ่ม IIS ในฐานะผู้ดูแลระบบ :)
Naveed Ahmad

อย่างน้อยวันนี้คุณก็เป็นคนโปรดของฉัน นี่เป็นการแก้ปัญหาที่ฉันถูกไล่ตามมาหลายชั่วโมง คำตอบที่ดี
asantaballa

8

หากคุณดูในข้อ จำกัด ISAPI และ CGIและทุกอย่างถูกตั้งค่าเป็นอนุญาตแล้วให้ตรวจสอบให้แน่ใจว่าตัวจัดการASP.NET v4.0.30319อยู่ในรายการด้วยซ้ำ ในกรณีของฉันพวกเขาไม่ได้ สิ่งนี้อาจเป็นเรื่องง่ายที่จะมองข้าม


ผมเพิ่มหนึ่งสำหรับ 32 %windir%\Microsoft.NET\Framework\v4.0.30319\aspnet_isapi.dllและอื่น ๆ สำหรับ 64 %windir%\Microsoft.NET\Framework64\v4.0.30319\aspnet_isapi.dllบิต ASP.NET v4.0.30319คุณสามารถตั้งชื่อพวกเขาทั้งสองเหมือนกัน

ตรวจสอบการอนุญาตให้ขยายเส้นทางที่จะดำเนินการ


6
  1. ไปที่ตัวจัดการ IIS
  2. เปิดชื่อเซิร์ฟเวอร์เช่น(PC-Name)\.
  3. จากนั้นดับเบิลคลิกที่ข้อ จำกัด ISAPI และ CGI
  4. จากนั้นเลือก ASP.NET v4.0.30319 (32-bit) Restriction allow

6

ในกรณีของฉันปัญหารุนแรงกว่า: ปรากฎว่า asp.net ไม่ได้ลงทะเบียนอย่างถูกต้อง

การตอบสนองการทำงานนี้ได้ดี

เพียงแค่รันคำสั่งต่อไปนี้ที่พรอมต์คำสั่ง

%windir%\Microsoft.NET\Framework64\v4.0.30319\aspnet_regiis.exe -i

ถ้าฉันใช้ระบบ 32 บิตมันจะมีลักษณะดังต่อไปนี้:

%windir%\Microsoft.NET\Framework\v4.0.21006\aspnet_regiis.exe -i

3

ขั้นตอนที่ 1: เปิด IIS แล้วคลิกชื่อเซิร์ฟเวอร์ขั้นตอนที่ 2 ดับเบิลคลิก“ ข้อ จำกัด ISAPI และ CGI” ขั้นตอนที่ 3 คลิกขวาที่ ASP.NET v4.0.30319 แล้วเลือก“ อนุญาต”

หลังจากหยุดและเริ่มบริการการเผยแพร่เวิลด์ไวด์เว็บ

1. ไปที่เริ่ม> โปรแกรมทั้งหมด> เครื่องมือการดูแลระบบ> บริการ 2. ในรายการบริการให้คลิกขวาที่บริการการเผยแพร่เวิลด์ไวด์เว็บแล้วคลิกหยุด (เพื่อหยุดบริการ), เริ่ม (เพื่อเริ่มบริการหลังจากที่ถูกหยุด) หรือเริ่มต้นใหม่ (เพื่อเริ่มบริการใหม่เมื่อกำลังทำงาน )

Pramesh


2

หากคุณกำลังเรียกใช้ Delphi หรือ CGI ที่คอมไพล์แล้ววิธีนี้จะใช้งานได้:

  1. ในฐานะอื่น ๆ ให้ไปที่ตัวจัดการ IIS และคลิกที่ชื่อเซิร์ฟเวอร์ จากนั้นคลิกที่ไอคอน "ข้อ จำกัด ISAPI และ CGI" ใต้ส่วนหัว IIS

  2. หากคุณได้รับอนุญาตทุกอย่างก็จะยังใช้ไม่ได้ คุณต้องคลิกที่ "แก้ไขการตั้งค่าคุณลักษณะ" ในการดำเนินการ (ทางด้านขวา) และเลือก "อนุญาตโมดูล CGI ที่ไม่ระบุ" หรือ "อนุญาตโมดูล ISAPI ที่ไม่ระบุ" ตามลำดับ

  3. คลิกตกลง


กำลังเต้นหัวของฉันอยู่สองสามวันและต้องทำ "แก้ไขการตั้งค่าคุณลักษณะ" เพื่อให้ปลั๊กอิน Single Sign-On ของ บริษัท ทำงานในโหมดคลาสสิก
Jay Sullivan

1

ในกรณีของเราวิธีแก้ปัญหานี้ไม่ได้เกี่ยวข้องกับการตั้งค่า "ข้อ จำกัด ISAPI และ CGI" ข้อผิดพลาดเริ่มเกิดขึ้นหลังจากที่เจ้าหน้าที่ฝ่ายปฏิบัติการได้อัปเกรดเซิร์ฟเวอร์เป็น. NET 4.5 โดยไม่ได้ตั้งใจจากนั้นปรับลดรุ่นเป็น. NET 4.0 อีกครั้ง สิ่งนี้ทำให้เว็บไซต์ IIS บางแห่งลืมพูลแอปพลิเคชันที่ถูกต้องตามลำดับและทำให้พูลแอปพลิเคชันบางส่วนเปลี่ยนจาก. NET Framework 4.0 เป็น 2.0 การเปลี่ยนการตั้งค่าเหล่านี้กลับช่วยแก้ปัญหาได้


1

หากคุณดูในข้อ จำกัด ISAPI และ CGIและทุกอย่างถูกตั้งค่าเป็นอนุญาตแล้วและ ASP.NET ที่ติดตั้งคือv4.0.30319จากนั้นทางด้านขวาที่แผง "การดำเนินการ " ให้คลิกใน " แก้ไขการตั้งค่าคุณสมบัติ ... "แล้วเลือกทั้งสองช่อง ในกรณีของฉันพวกเขาไม่ได้



0

ทั้งนี้ขึ้นอยู่กับประเภทของแอปพลิเคชันสิ่งอื่นที่ต้องตรวจสอบคือภายใต้การตั้งค่าขั้นสูงสำหรับกลุ่มแอปพลิเคชันตรวจสอบให้แน่ใจว่าได้ตั้งค่า "เปิดใช้งานแอปพลิเคชัน 32 บิต" เป็น True

ฉันตรวจสอบทุกอย่างในชุดข้อความนี้เมื่อฉันมีปัญหานี้ แต่ทั้งหมดได้รับการตั้งค่าอย่างถูกต้องแล้วฉันพบว่านี่เป็นปัญหาสำหรับฉัน



-1

หลังจากการแมปแอปพลิเคชันให้ทำตามขั้นตอนเหล่านี้

เปิด IIS คลิกที่ Applications Pools ดับเบิลคลิกที่เว็บไซต์ Change Manage pipeline mode เป็น "classic" คลิก Ok

Ow เปลี่ยน. Net Framework Version เป็นเวอร์ชันต่ำกว่า

จากนั้นคลิกตกลง

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.