ไม่สามารถเริ่มการดีบักบนเว็บเซิร์ฟเวอร์ ไม่สามารถเริ่มการดีบัก ASP.NET VS 2010, II7, Win 7 x64


92

ฉันใช้ Visual Studio 2010 (ในฐานะผู้ดูแลระบบ), IIS 7 บน Windows 7 x64 ฉันสามารถเรียกใช้เว็บไซต์ ASP.NET ใน IIS 7 ได้โดยไม่ต้องดีบัก แต่เมื่อฉันกด F5 เพื่อดีบักฉันจะได้รับ:

ไม่สามารถเริ่มการดีบักบนเว็บเซิร์ฟเวอร์ ไม่สามารถเริ่มการดีบัก ASP.NET ข้อมูลเพิ่มเติมอาจพร้อมใช้งานโดยเริ่มโครงการโดยไม่ต้องแก้ไขจุดบกพร่อง

น่าเสียดายที่ลิงค์ความช่วยเหลือไม่ได้ช่วยฉันมากนักและนำไปสู่ต้นไม้ขนาดใหญ่

ฉันตรวจสอบสิ่งต่อไปนี้:

  • ข้อกำหนดด้านความปลอดภัย - ฉันจำไม่ได้ว่าต้องทำอะไรเป็นพิเศษมาก่อน กระบวนการของผู้ปฏิบัติงานใน IIS7 คือ w3wp.exe มันบอกว่าถ้ามันทำงานเป็น ASPNET หรือ NETWORK SERVICE ฉันต้องมีสิทธิ์ของผู้ดูแลระบบในการแก้จุดบกพร่อง ฉันจะทราบได้อย่างไรว่าต้องเปลี่ยนแปลงอะไรที่นี่

  • หน้าคุณสมบัติของเว็บไซต์> ตัวเลือกเริ่มต้น> ดีบักเกอร์> ASP.NET ถูกตรวจสอบ ใช้เซิร์ฟเวอร์ที่กำหนดเองถูกตั้งค่าเป็น URL ของไซต์ (ซึ่งทำงานได้ดีโดยไม่ต้องแก้ไขจุดบกพร่อง)

  • web.configแก้จุดบกพร่องเปิดใช้งานใน

  • แอปพลิเคชันใช้ ASP.NET 3.5 (ฉันต้องการย้ายไปที่ 4.0 ในที่สุด แต่ฉันมีการโยกย้ายบางอย่างที่ต้องจัดการ)

  • แอปพลิเคชันพูล: Classing .NET AppPool (ลองใช้ DefaultAppPool ด้วย)

มีแนวคิดใดบ้างที่ฉันสามารถตรวจสอบต่อไปได้

แน่นอนว่ามันไม่ยากที่จะติดตั้ง IIS, VS, สร้างเว็บไซต์และเริ่มทดสอบ?

ขอบคุณล่วงหน้า.


1
เพื่อให้ชัดเจนเมื่อคุณเริ่ม Visual studio คุณคลิกขวาที่มันแล้วเลือกตัวเลือก Run As Administrator?
Aaron Carlson

ลองดูลิงค์นี้หรือยัง msdn.microsoft.com/en-us/library/dwesw3ee.aspx
Aaron Carlson

@Aaron ใช่ฉันตั้งค่า VS ให้ทำงานในฐานะผู้ดูแลระบบเสมอ
Dan C

@Aaron ฉันผ่านหน้านั้นและลูก ๆ อย่างชัดเจนก่อนที่จะโพสต์ที่นี่และไม่มีอะไรโดดเด่นที่ฉันต้องทำ ระบบของฉันเป็นไปตามข้อกำหนดและมีการเปิดการดีบักสำหรับไซต์ ฉันไม่มี Windows Server 2003 ดังนั้นจึงไม่มีการกำหนดค่า IIS ที่นั่น ยังไม่ได้แตะการตั้งค่าความปลอดภัยใด ๆ เลยเพราะฉันไม่รู้ว่าต้องทำหรือไม่
Dan C

ไม่แน่ใจว่าจะช่วยได้หรือไม่ แต่ฉันพยายามสร้างเว็บไซต์ทดสอบ ASP.NET 3.5 ใหม่ใน VS 2010 เพิ่มลงใน IIS 7 โดยไม่ต้องกำหนดค่าพิเศษใด ๆ และสามารถดีบักได้ดี บางอย่างกับแอปพลิเคชันหลักของฉันด้วยวิธีกำหนดค่าใน VS, IIS หรือแม้แต่ระบบไฟล์ เพียงแค่ไม่แน่ใจว่าจะเริ่มมองหาที่ไหน
Dan C

คำตอบ:


239

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


ขอบคุณหวังว่าฉันจะพบโพสต์นี้ในวันศุกร์! สระว่ายน้ำหยุดและฉันพบข้อผิดพลาดแรก
Christopher Cabezudo Rodriguez

ในกรณีของฉันฉันต้องอนุญาต ASP.NET v4.0.30319 ในข้อ จำกัด ISAPI และ CGI
Adi

15
+1 ชื่อผู้ใช้ / รหัสผ่านที่ไม่ถูกต้องที่ใช้สำหรับการตรวจสอบความถูกต้องของ App Pool
P. Brian.Mackey

3
ในกรณีของฉันสระว่ายน้ำได้เริ่มต้นแล้ว แต่หลังจากหยุดและเริ่มต้นอีกครั้งก็ใช้ได้
Serj Sagan

1
ขอบคุณ. วิธีนี้ใช้ได้ผลสำหรับฉันอย่างสมบูรณ์แบบ ฉันต้องรีสตาร์ทพูลแอปพลิเคชันเพิ่มเติม
Sunil

44

ปรากฎว่าผู้กระทำผิดคือโมดูลIIS Url Rewrite ฉันได้กำหนดกฎที่เปลี่ยนเส้นทางการเรียกไปที่Default.aspx (ซึ่งตั้งเป็นหน้าเริ่มต้นของเว็บไซต์ ) ไปยังรูทของไซต์เพื่อที่ฉันจะได้มี URL หลักตามรูปแบบบัญญัติ อย่างไรก็ตามเห็นได้ชัดว่า VS มีปัญหากับสิ่งนี้และสับสน ปัญหานี้ไม่เกิดขึ้นเมื่อฉันใช้ Helicon ISAPI_Rewrite ดังนั้นจึงไม่เกิดขึ้นกับฉันในการตรวจสอบ

ฉันลงเอยด้วยการสร้างเว็บไซต์ใหม่ทั้งหมดตั้งแต่เริ่มต้นและย้ายโครงการ / ไฟล์ไปยังโซลูชันของฉันทีละเล็กทีละน้อยและสร้าง web.config ของฉันใหม่จนกว่าฉันจะพบสิ่งนี้! อย่างน้อยตอนนี้ฉันก็มีไซต์ที่สะอาดขึ้นเล็กน้อยโดยใช้. NET 4.0 (จนถึงตอนนี้หวังว่าฉันจะไม่เจอกำแพงใด ๆ ) - แต่ช่างน่าเจ็บปวดจริงๆ!


6
ใช่ แต่คุณต้องแน่ใจว่าพูลแอปพลิเคชันกำลังทำงานอยู่รวมถึงพอร์ทัลของคุณด้วย
Junior Mayhé

ในบันทึกนั้นปัญหาของฉันอยู่ใน web.config ภายใต้: <applicationInitialization remapManagedRequestsTo = "/ App / splash.html" doAppInitAfterRestart = "true" lockAttributes = ""> <add initializationPage = "App / index.html" hostName = " CSI "lockItem =" true "/> </applicationInitialization> ฉันใช้สิ่งนั้นเพื่อแสดงหน้าจอเริ่มต้นในขณะที่แอปพลิเคชันกำลังเริ่มทำงาน
Nick

6
นี่คือสำหรับฉัน กฎการเขียนซ้ำเพื่อส่งการรับส่งข้อมูล HTTP ทั้งหมดไปยัง HTTPS ทำให้เกิดข้อผิดพลาดที่น่าเกลียดนี้ ฉันไม่พบวิธีใด ๆ ที่จะรักษากฎไว้สำหรับการดีบัก
กาด

แค่อยากจะเพิ่มว่าสำหรับฉันมันคล้ายกัน แต่การเขียน SSL ใหม่เราหมายถึงว่าเส้นทางเริ่มต้นของเราคือlocalhost / appnameแต่เนื่องจากการเปลี่ยนเส้นทางส่งคุณไปยังlocalhost / appnameทำให้ VS เกิดข้อผิดพลาดเนื่องจากไม่สามารถจัดการการเปลี่ยนเส้นทางได้ .. . เอาเราชั่วโมง + เพื่อพบปัญหานี้เมื่อการทดสอบใน IIS ทุกอย่างไว้ในเครื่องทำงานอย่างสมบูรณ์ .. !
เลียม Wheldon

ปัญหาเดียวกันที่นี่ (โมดูล IIS Url Rewrite) ฉันแก้ปัญหาโดยย้ายกฎไปที่Web.Release.configไฟล์. ดูweblogs.asp.net/srkirkland/...และstackoverflow.com/questions/11032868/...
Swisher Sweet

42

Visual Studio เมื่อเริ่มต้นระบบจะพยายามเข้าถึง URL (ด้วยเหตุผลบางประการ):

/debugattach.aspx

หากคุณมีกฎการเขียนซ้ำที่เปลี่ยนเส้นทาง (หรืออื่น ๆ ที่จับได้) ให้พูดว่า.aspxไฟล์ที่อื่นคุณจะได้รับข้อผิดพลาดนี้ การแก้ปัญหาคือการเพิ่มส่วนนี้เพื่อจุดเริ่มต้นของคุณweb.config's <system.webServer>/<rewrite>/<rules>ส่วน:

<rule name="Ignore Default.aspx" enabled="true" stopProcessing="true">
    <match url="^debugattach\.aspx" />
    <conditions logicalGrouping="MatchAll" trackAllCaptures="false" />
    <action type="None" />
</rule>

สิ่งนี้จะทำให้แน่ใจว่าได้รับคำขอนี้โดยเฉพาะไม่ต้องทำอะไรและที่สำคัญที่สุดคือหยุดการดำเนินการดังนั้นกฎอื่น ๆ ของคุณจะไม่ทำงาน นี่เป็นโซลูชันที่มีประสิทธิภาพดังนั้นอย่าลังเลที่จะเก็บสิ่งนี้ไว้ในไฟล์กำหนดค่าของคุณสำหรับการผลิต


1
น่าเสียดายที่สิ่งนี้ไม่ได้ผลสำหรับฉันเป็นการส่วนตัว แต่ฉันสามารถตรวจสอบได้ว่าเป็นปัญหาการเขียนซ้ำอย่างแน่นอนเนื่องจากฉันแสดงความคิดเห็นในส่วนการเขียนซ้ำของ web.config และฉันสามารถเรียกใช้โดยไม่มีปัญหา
Matt

อาจต้องการที่จะลองแก้ปัญหาจากที่นี่: stackoverflow.com/a/30813200/375303 ใช้งานได้เหมือนมีเสน่ห์สำหรับฉัน
jerhewet

Visual Studio จะบันทึกข้อผิดพลาดที่เกี่ยวข้องกับ DebugAttach.aspx ที่นี่:% UserProfile% \ AppData \ Local \ Temp \ Visual Studio Web Debugger.log (หากคุณไม่มีไฟล์นั้นหรือถ้าเป็นไฟล์เก่า - แสดงว่าปัญหาของคุณ อาจไม่เกี่ยวข้องกับ DebugAttach.aspx)
Brandon S

ในกรณีของฉันสาเหตุที่แท้จริงถูกต้อง แต่ไม่ใช่การแก้ปัญหา สำหรับฉันสิ่งนี้ได้ผล: <location path="debugattach.aspx"> <system.webServer> <validation validateIntegratedModeConfiguration="false" /> <httpErrors errorMode="DetailedLocalOnly" existingResponse="PassThrough"> <clear /> </httpErrors> </system.webServer> </location>
Tasos K.

สำหรับฉันปัญหาเกิดจาก "/debugattach.aspx" แต่วิธีแก้ปัญหากำลังเปลี่ยน erroMode เป็น "DetailLocalOnly" เช่นกัน
Nashe

30

เพื่อประโยชน์ของผู้อื่นในกรณีของฉันฉันได้กำหนดค่าพูลแอปพลิเคชันให้ใช้ข้อมูลประจำตัว windows ของฉันเพื่อเข้าถึงการแชร์ทรัพยากรเครือข่าย เนื่องจากการแก้ไขข้อบกพร่องครั้งล่าสุดฉันได้รีเซ็ตรหัสผ่าน windows ของฉัน เปลี่ยนรหัสผ่านที่เก็บไว้ในแอพพูลและ bada bing


ขอบคุณสำหรับสิ่งนี้ฉันไม่ได้ใช้การแชร์เครือข่าย แต่ก็ใช้งานได้ดี
Marissa

21

หาก ApplicationPool Identity ถูกตั้งค่าบัญชีที่กำหนดเองและรหัสผ่านของคอมพิวเตอร์มีการเปลี่ยนแปลงคุณต้องอัปเดตรหัสผ่านของคุณ


ใช่มีปัญหาลองใช้คำตอบสองสามข้อจากที่นี่โดยไม่มีผลลัพธ์คำตอบของคุณคือสิ่งที่ช่วยฉันได้จริงๆ!
Vadzim Savenok

19

สำหรับสถานการณ์ของฉันมันเป็นการเปลี่ยนแปลงในส่วน httpErrors ใน web.config โดยตั้งค่าเป็นดังนี้:

<httpErrors mode="Custom"> 

ทำให้เกิดปัญหา "ไม่สามารถเริ่มการแก้ไขข้อบกพร่องบนเว็บเซิร์ฟเวอร์" การตั้งค่ากลับไปเป็นค่าก่อนหน้าของ "DetailLocalOnly" ช่วยแก้ปัญหาได้ ขุดลึกลงไปเล็กน้อยฉันพบว่าจริงๆแล้วมันเป็นเพียงการตั้งค่าข้อผิดพลาด 401 ที่ทำให้เกิดสิ่งนี้:

<httpErrors mode="Custom"> 
    <error statusCode="401" prefixLanguageFilePath="" path="/masterpages/500.html" responseMode="ExecuteURL" />
<httpErrors mode="Custom"> 

การแสดงความคิดเห็นเกี่ยวกับบรรทัดข้อผิดพลาด 401 ช่วยแก้ไขปัญหาได้เช่นกันฉันไปด้วยเพราะฉันสามารถรักษาการจัดการข้อผิดพลาดที่กำหนดเองและเริ่มต้นด้วยการดีบัก

ฉันยังไม่รู้ว่าทำไมสิ่งนี้จึงเกิดขึ้น


สาเหตุเดียวกันสำหรับฉันคือเห็นการตอบสนอง 401 รายการในบันทึกของฉันเมื่อพยายามเริ่มการดีบักและการปิดใช้งานการจัดการข้อผิดพลาดเริ่มต้นของฉันช่วยแก้ปัญหา "vs can not debug site" ให้ฉัน ฉันไม่เข้าใจว่าทำไม 401 ถึงเกิดขึ้นแม้ในหน้าเข้าสู่ระบบของฉันเมื่อใดและก็ต่อเมื่อเริ่มการดีบักด้วย vs ในขณะที่มีเพียงการเข้าถึงแบบไม่ระบุชื่อและการรับรองความถูกต้องของเว็บฟอร์มเท่านั้น เปิดใช้งาน
Frédéric

นี่เป็นการแก้ไขสำหรับฉันเช่นกันมีเพียงฉันเท่านั้นที่ตั้งค่าเส้นทางข้อผิดพลาดเริ่มต้นแทนที่จะกำหนดอย่างชัดเจนสำหรับ 401
tuespetre

นี่คือสิ่งที่ใช้ได้ผลสำหรับฉัน (ฉันเพิ่งลบส่วน HTTperrors ทั้งหมดชั่วคราว) สิ่งที่ฉันพยายามก่อนหน้านี้ที่ไม่ได้ผลคือการรีสตาร์ทพูลแอพและลบกฎการเขียน URL
Nicholas Westby

นี่คือสิ่งที่ได้ผลสำหรับฉัน จากนั้นฉันเปลี่ยนข้อผิดพลาดที่กำหนดเองเป็น @Pablo Romeo เขียนในคำตอบนี้: stackoverflow.com/a/13905859/4489664
Bondaryuk Vladimir

2
การเปลี่ยน erroMode เป็น "DetailLocalOnly" ก็สามารถแก้ไขได้เช่นกัน ดีบักเกอร์พยายามเปิด "/DebugAttach.aspx" ซึ่งทำให้ไปที่ Custom Error Page ซึ่งไม่สามารถทำงานได้ในเวลาที่กำหนด
Nashe

13

กรุณาตรวจสอบแอปพลิเคชันพูล ถ้ามันถูกหยุด รีสตาร์ท


4
นี่เหมือนกับคำตอบหมายเลข 1 ที่เสนอเมื่อเดือนก่อน
mac10688

ตกลงมันเป็นอย่างนั้น แต่ทำไมมันถึงหยุดทุกครั้ง?
Fernando Torres

แอปพลิเคชันพูลของฉันทำงานกับผู้ใช้ที่เปลี่ยนรหัสผ่าน
Anderson

11

มีปัญหาเดียวกันกับการพยายามดีบักโมดูล DNN (Dot Net Nuke) ปรากฎว่าคุณต้องมีการดีบักการคอมไพล์ = "true":

<compilation debug="true" strict="false" targetFramework="4.0"> 

ใน web.config ของคุณ โดยค่าเริ่มต้นจะเป็นเท็จใน DNN แหล่งข้อมูลต้นฉบับที่นี่: http://www.dnnsoftware.com/forums/forumid/111/postid/189880/scope/posts


ขอขอบคุณ!! ฉันฉีกผมออกมาทั้งวันและการแก้ไขก็ง่ายมาก ถ้า VS เท่านั้นที่สามารถให้ข้อความแสดงข้อผิดพลาดที่มีความหมาย!
colincameron

8

ฉันมีปัญหาเดียวกันทุกประการหลังจากใช้โมดูลเขียนซ้ำ

ถ้าฉันลบรายการเขียนซ้ำออกจากไฟล์ web.config ของฉันการดีบักจะทำงานได้อย่างสมบูรณ์

เพื่อหลีกเลี่ยงสิ่งนี้ฉันแค่แสดงความคิดเห็นเกี่ยวกับแท็กที่เขียนซ้ำในขณะที่แก้ไขข้อบกพร่องเช่นนี้ ...

<rewrite>
    <rules>
        <rule name="LowerCaseRule_1" stopProcessing="true">
            <match url="[A-Z]" ignoreCase="false" />
            <action type="Redirect" url="{ToLower:{URL}}" />
        </rule>
        <rule name="RedirectDefault.aspx_1" stopProcessing="true">
            <match url="(.*)default.aspx" />
            <action type="Redirect" url="{R:1}" redirectType="Permanent" />
        </rule>
    </rules>
</rewrite>

จากนั้นฉันจะลบความคิดเห็นหลังจากแก้ไขข้อบกพร่อง

ต้องเป็นจุดบกพร่องใน Visual Studio 2010


1
จริงอยู่มันเป็นวิธีแก้ปัญหา แต่ก็น่าสงสารเพราะมันง่ายมากที่จะลืมลบความคิดเห็นเช่นนี้ก่อนที่จะกระทำหรือเผยแพร่ไซต์
จอนอดัมส์

1
คุณสามารถย้ายบรรทัดเหล่านี้ในไฟล์ config web.config.release ดังนั้นเมื่อคุณเผยแพร่มันจะอยู่ในเวอร์ชันที่เผยแพร่เท่านั้น นั่นคือสิ่งที่ฉันทำ
shalke

อาจจะไม่รวม /debugattach.aspx ก็ทำได้ ดูความคิดเห็นของ Peter Monks
Daniel Fisher lennybacon

6

ฉันได้รับข้อผิดพลาดเดียวกันเนื่องจากพูลแอปพลิเคชันหยุดทำงานใน IIS หลังจากเริ่ม App Pool ปัญหาได้รับการแก้ไขแล้ว


แก้ปัญหาของฉันด้วย! ฉันพบว่า DefaultAppPool ของฉันหยุดทำงาน ขอบคุณสำหรับการแบ่งปันสิ่งนี้ ฉันไม่เข้าใจว่าทำไมมันถึงหยุดลง
Jobert Enamno

5

นี่คือสิ่งที่ฉันทำเพื่อล้างข้อผิดพลาดที่คุณสังเกตเห็น ค้นหาโฟลเดอร์เว็บสำหรับแอปภายในระบบไฟล์ไปที่Properties => Securityคลิกปุ่มAdvancedจากนั้นคลิกแท็บOwnerคลิกปุ่มEditและเปลี่ยนเจ้าของ (ด้วยสิทธิ์ที่ถูกต้อง) ของโฟลเดอร์และเลือก " Repalce เจ้าของบนคอนเทนเนอร์ย่อยและวัตถุ "ช่องทำเครื่องหมาย คลิก " ใช้ " จากนั้นฉันก็อยู่ในธุรกิจ (สามารถแก้ไขข้อบกพร่องได้)

หวังว่าจะใช้ได้กับคนอื่น


2
เปลี่ยนเจ้าของเป็นใคร?
dumbledad

5

ในที่สุดก็แก้ไขสิ่งนี้สำหรับโซลูชันเดียวของฉันที่มีสิ่งนี้ สองโครงการในโซลูชันถูกตั้งค่าเป็นไซต์ใน IIS ฉันเข้าไปและเปิดใช้งาน ASP.Net Impersonation ภายใต้การรับรองความถูกต้องสำหรับทั้งสองโครงการ ... และ VIOLA! สุดท้ายไม่มีข้อผิดพลาดที่น่ารำคาญนี้อีกต่อไป!


3

ฉันได้รับข้อความแสดงข้อผิดพลาดเดียวกันใน VS 2012 แต่ไม่ได้ทำงานในฐานะผู้ดูแลระบบ เมื่อฉันเรียกใช้แอปในฐานะผู้ดูแลระบบฉันได้รับข้อความที่เป็นประโยชน์แตกต่างออกไปเล็กน้อย (ซึ่งฉันพอจะเข้าใจได้) HTH


3

หาก App Pool มีปัญหาในการรีสตาร์ทหรือไม่ต้องการรีสตาร์ทให้ตรวจสอบว่า Windows ทำการอัพเดตล่าสุดบน ASP.NET v4.0 หรือ App Pool อื่น ๆ หรือไม่ นั่นคือสิ่งที่เกิดขึ้นในกรณีของฉัน ฉันเพิ่งรีสตาร์ทคอมพิวเตอร์จากนั้นรีสตาร์ท ASP.NET v4.0 App Pool และทุกอย่างก็ทำงานอีกครั้ง!


2

แดน,

นอกเหนือจากคำแนะนำของ Aaron แล้วให้ลองทำดังต่อไปนี้

  • ตรวจสอบว่าได้เลือกการรับรองความถูกต้องของ windows แบบรวมในเว็บไซต์ IIS ของคุณ
  • คุณสามารถแก้จุดบกพร่องโดยใช้ Cassini แทน IIS ได้หรือไม่?

ฉันทำตามขั้นตอนต่อไปนี้เพื่อเปิดใช้งานการรับรองความถูกต้องของ windows แบบรวม: msdn.microsoft.com/en-us/library/x8a5axew.aspxอย่างไรก็ตามฉันยังคงมีข้อผิดพลาดเดียวกัน (ตัวจัดการ iis แสดงคำเตือนว่าฉันไม่สามารถใช้ทั้งการพิสูจน์ตัวตนแบบ challnge และการล็อกอิน - ไซต์ของฉันใช้ Forms Authentication) ฉันสามารถดีบักไซต์โดยใช้เว็บเซิร์ฟเวอร์ที่สร้างขึ้นใน VS 2010 แต่ไม่มีคุณสมบัติ
Dan C

คุณลองสร้างเว็บไซต์ใหม่ใน IIS และปรับใช้โค้ดของคุณที่นั่นหรือไม่ ด้วยความอยากรู้อยากเห็นคุณสมบัติอะไรที่คุณจะขาดหายไปถ้าคุณแก้ไขข้อบกพร่องใน Cassini? ความรู้ของฉัน Cassini สนับสนุนการพิสูจน์ตัวตนแบบฟอร์ม
Keefu

"การสร้างเว็บไซต์ใหม่ใน IIS" หมายความว่าอย่างไร นี่คือคอมพิวเตอร์เครื่องใหม่ที่มีการติดตั้ง OS, VS2010, IIS ใหม่ ฉันสร้างแอปพลิเคชันใหม่ใน IIS และชี้ไปที่โฟลเดอร์ของเว็บไซต์จริง (ดึงมาจากข้อมูลสำรอง) ดูเหมือนว่า URL Rewrite จะทำงานใน Cassini ได้ไม่เต็มที่ นอกจากนี้เรายังใช้โมดูลที่กำหนดเองเพื่อสลับระหว่าง http และ https โดยอัตโนมัติ ( codeproject.com/KB/web-security/WebPageSecurity_v2.aspx )
Dan C

Cassini ไม่รองรับโมดูล Url Rewrite 2
citronas

2

มีปัญหาเดียวกันกับ Windows 10 เมื่อเปิดคุณสมบัติ IIS windows ทั้งหมด เปลี่ยนมาใช้ Windows 8.1 และมีปัญหาอีกครั้ง รูทอยู่ในชื่อเว็บไซต์ " http: //MySite.local " (ไม่เกี่ยวข้องกับเวอร์ชันของระบบปฏิบัติการ)

และวิธีแก้ปัญหาก็ง่าย

  • แก้ไขไฟล์โฮสต์ใน %SystemRoot%\System32\drivers\etc\

  • เพิ่มบรรทัดด้วยการผูก ip: 127.0.0.1 MySite.local


นี่เป็นอัญมณีสำหรับฉันลืมไปเลยเกี่ยวกับการตั้งค่าไฟล์โฮสต์ของฉันและสงสัยว่าทำไม apis ของฉันไม่ทำงานเมื่อฉันเปลี่ยนไปใช้ iis ท้องถิ่น (สำหรับ https) VS ทำงานกับไซต์เดียวที่ทำงานอยู่ในนั้น แต่เมื่อฉันเพิ่มวินาทีฉันไม่สามารถแก้ไขข้อบกพร่องได้อีกต่อไปสิ่งนี้จะแก้ไขได้
CDerrig

1

ฉันมีข้อผิดพลาดนี้เกิดขึ้นในวันนี้เนื่องจากมีข้อบกพร่องในโค้ดที่โพสต์กลับมาเป็นจำนวนมากทำให้ IIS เต็มไปด้วยคำขอ สิ่งนี้ล็อค IIS เป็นหลักดังนั้นเมื่อฉันพยายามดีบักมัน 'หมดเวลา' ในการพยายามเริ่มการดีบักเกอร์ ฉันเพิ่งรีสตาร์ท IIS ซึ่งใช้เวลาไม่กี่นาทีและสามารถแก้ไขปัญหาได้

ฉันแน่ใจว่าต้องการให้ข้อผิดพลาดนี้เกิดขึ้นทั่วไปน้อยกว่าดูเหมือนว่ามีหลายวิธีในการสร้างข้อผิดพลาดนี้


1

ฉันมีปัญหาเดียวกันใน Visual Studio 2012 และ 2013 บน Windows 8.1 สำหรับฉันการแก้ไขคือการเพิ่ม Windows Authentication ไปยัง IIS โดยใช้ 'เปิดหรือปิดคุณสมบัติ Windows'

เปิดหรือปิดคุณสมบัติของ Windows


1

ให้แน่ใจว่าแอพลิเคชันของเว็บไซต์ของคุณใช้รุ่นกรอบที่ถูกต้อง ฉันได้รับข้อผิดพลาด "Unable to start debugging" บนไซต์ ASP.Net 2005 เป็นการใช้ DefaultAppPool บน Windows 7 อย่างไม่ถูกต้อง (ซึ่งฉันเชื่อว่าใช้. Net Framework 4) ฉันสร้าง App Pool ใหม่โดยใช้. Net Framework 2 และกำหนดให้กับเว็บไซต์ที่มีปัญหา หลังจากนั้นการดีบักก็ทำงานได้ดี


1

ตรวจสอบว่าเว็บไซต์ของคุณบน IIS ไม่หยุดทำงานหรือไม่

ฉันแก้ไขมันทำให้เว็บไซต์ของฉันทำงาน : ง


1

ฉันประสบปัญหานี้และในที่สุดก็รู้ว่าฉันลงทะเบียน ASP.net กับ IIS ไม่ถูกต้อง สิ่งนี้สามารถเกิดขึ้นได้เมื่อเซิร์ฟเวอร์ IIS ถูกติดตั้งก่อน Visual Studio ในการแก้ไขปัญหานี้ให้ใช้คำสั่งaspnet_regiis -i สามารถดูข้อมูลเพิ่มเติมได้ในลิงค์


1

มีปัญหาเดียวกัน หากคุณติดตั้งใบรับรอง SSL บน IIS และหากคุณพยายามดีบักจาก Visual Studio คุณต้องตั้งค่าแอปพลิเคชันของคุณบน IIS เพื่อละเว้นใบรับรอง


1

ฉันมีปัญหาเดียวกันและพบว่ามีสาเหตุมาจากฉันมีอักขระที่พิมพ์ผิดพลาดในWeb.configท้ายแท็กของฉัน Web.configตอนท้ายของฉันเป็นแบบนี้: </section>h. "h" เป็นอักขระพิเศษหลังแท็กปิด


0

ลบการต่อยเช่นนี้: targetFramework = "4.0" ใน web.config หรือเปลี่ยน AppPool เป็นเวอร์ชันเฟรมเวิร์กที่เหมาะสม



0

ฉันประสบปัญหาเดียวกัน แต่มันอยู่บนเซิร์ฟเวอร์การพัฒนาเว็บของ Visual Studios แทน IIS วิธีแก้ปัญหาคือการยกเลิกการเลือกตัวเลือกในแท็บเว็บภายใต้คุณสมบัติของโครงการใช้การตั้งค่าเซิร์ฟเวอร์กับผู้ใช้ทั้งหมด (เก็บไว้ในไฟล์โครงการ) มันจะช่วยประหยัดเวลาอันมีค่าของบางคน


0

ผมมีปัญหาเดียวกัน. คำตอบทั้งหมดข้างต้นไม่ได้ผลสำหรับฉัน วิธีแก้ไขคือลบโฟลเดอร์ bin และ obj ด้วยตนเอง


0

ฉันพบปัญหานี้เช่นกัน แต่คล้ายกับที่ @Kirk อธิบายและการเขียน URL ใหม่มากที่สุด

ในกรณีของฉันมีคนตรวจสอบการเปลี่ยนแปลงนี้เป็นไฟล์ web.config สำหรับโครงการ MVC:

<system.webServer>
    <security>
        <requestFiltering>
            <fileExtensions>
                <add fileExtension=".aspx" allowed="false" />
            </fileExtensions>
        </requestFiltering>
    </security>
</system.webServer>

เนื่องจากไม่อนุญาตให้ใช้นามสกุลไฟล์. aspx บนเว็บเซิร์ฟเวอร์/debugattach.aspxURL จึงถูกปฏิเสธซึ่งป้องกันไม่ให้ดีบักเกอร์ทำงาน เมื่อฉันลบการกำหนดค่านี้มันก็ใช้งานได้อีกครั้ง


0

ฉันมีปัญหาเดียวกันเมื่อฉันสร้างแอปพลิเคชันใน Visual Studio จากนั้นในคุณสมบัติได้สร้างไดเรกทอรีเสมือนเพื่อใช้กับ IIS ในเครื่อง หากมีคนมีข้อผิดพลาดนี้เป็นเพราะ VS สร้างแอปพลิเคชันภายใต้ AppPool ที่ไม่ถูกต้องเช่นภายใต้ AppPool ซึ่งไม่ตรงกับความต้องการของคุณ
ในกรณีนี้ให้ไปที่ตัวจัดการ IIS เลือกแอปไปที่การตั้งค่าพื้นฐานและเปลี่ยน AppPool สำหรับแอปและคุณก็พร้อมที่จะไป


0

เมื่อเร็ว ๆ นี้ฉันได้รับข้อผิดพลาดเดียวกันนี้และในกรณีของฉันปรากฎว่ามีประเภท MIME ที่ซ้ำกัน ฉันเพิ่งเพิ่มสองรายการที่ไม่ปรากฏในรายการในตอนแรก IIS ให้ฉันเพิ่มและมันก็ต่อเมื่อฉันตัดสินใจที่จะตรวจสอบประเภท MIME สำหรับไซต์อีกครั้งซึ่งเป็นส่วนหนึ่งของกระบวนการวินิจฉัยของฉันว่าฉันได้รับข้อผิดพลาดใน IIS เช่นกัน อ้างถึงรายการที่ซ้ำกันใน web.config เมื่อฉันกลับไปที่ไฟล์ web.config ฉันสังเกตเห็นว่ามีการเพิ่มส่วนใหม่ที่เรียกว่าซึ่งรวม MIME สองประเภทที่เพิ่งเพิ่มเข้ามา ลบส่วนนั้นแล้วชีวิตจะดีอีกครั้ง! หวังว่านี่อาจช่วยให้ผู้อื่นที่ยังไม่สามารถแก้ไขปัญหาได้ด้วยคำแนะนำอื่น ๆ

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