ต้องใช้แอตทริบิวต์ serviceAutoStartProvider เพื่อเริ่มต้นแอปพลิเคชัน ASP.NET โดยอัตโนมัติหรือไม่


11

ฉันได้อ่านโพสต์ของ Scott Guthrie ในแอปพลิเคชัน ASP.NET เริ่มต้นอัตโนมัติซึ่งให้ตัวอย่างเกี่ยวกับวิธีตั้งค่าแอปพลิเคชัน ASP.NET 4.0 ให้เริ่มต้นโดยอัตโนมัติ

<applicationPools>
    <add name="MyAppWorkerProcess" managedRuntimeVersion="v4.0"
        startMode="AlwaysRunning" />
</applicationPools>

<!--...-->
<sites>
     <site name="MySite" id="1">
          <application path="/" serviceAutoStartEnabled="true"
              serviceAutoStartProvider="PreWarmMyCache" />
     </site>
</sites>

<!--...-->
<serviceAutoStartProviders>
     <add name="PreWarmMyCache" type="PreWarmCache, MyAssembly" />
</serviceAutoStartProviders>

สิ่งที่ไม่ชัดเจนจากโพสต์ของเขาคือหากการกำหนดค่าต่อไปนี้จะเริ่มต้นแอปพลิเคชัน ASP.NET โดยอัตโนมัติ:

<applicationPools>
    <add name="MyAppWorkerProcess" managedRuntimeVersion="v4.0"
        startMode="AlwaysRunning" />
</applicationPools>

<!--...-->
<sites>
     <site name="MySite" id="1">
          <application path="/" serviceAutoStartEnabled="true" />
     </site>
</sites>

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

  • ฉันอ่านเอกสารอย่างถูกต้องหรือไม่
  • เป็นserviceAutoStartProviderต้องได้รับการระบุให้ใช้serviceAutoStartEnabled?
  • จะเกิดอะไรขึ้นหากไม่มีการserviceAutoStartProviderระบุไว้?

คำตอบ:


10

ฟังก์ชัน Warm-Up โดยเฉพาะที่เกี่ยวข้องกับ IIS นั้นถูกยกเลิกหรือไม่ได้รับการพัฒนาอีกต่อไป บทความของ Scott มาจาก pre-VS2010 พวกเขาเขียนสแต็กทั้งหมดลงใน IIS Module ใหม่อีกครั้ง

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


ปิดเพื่อเล่นกับApplication Initialization Moduleแต่ฉันคิดว่าฉันจะทำเครื่องหมายว่านี่เป็นคำตอบที่ได้รับการยอมรับในไม่ช้า ขอบคุณที่ตอบกลับฉันเกลียดเมื่อคำถามอ่อนล้าคิดว่าฉันจะได้รับตรา Tumbleweed ในอันนี้! ;)
ahsteele

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