Asp.NET Web API - 405 - กริยา HTTP ที่ใช้ในการเข้าถึงเพจนี้ไม่ได้รับอนุญาต - วิธีตั้งค่าการแมปตัวจัดการ


107

ฉันเขียนบริการ REST โดยใช้ ASP.NET Web API ฉันพยายามส่งคำขอ HttpDelete แต่ได้รับข้อผิดพลาดต่อไปนี้:

405 - ไม่อนุญาตให้ใช้คำกริยา HTTP ที่ใช้ในการเข้าถึงเพจนี้

ฉันคิดว่าฉันใกล้จะแก้ปัญหาแล้วฉันพบว่าฉันควรเปิดใช้งานการจัดการระยะไกลของ IIS ไปที่ส่วน Handler Mappings และเพิ่มคำกริยา DELETE ในตำแหน่งที่เหมาะสม ... แต่ปัญหาคือมีตำแหน่งที่แตกต่างกันมากมาย รายการ ... (เช่นที่นี่: http://www.somacon.com/p126.php )

ฉันควรแก้ไขข้อใด ไม่กี่คนที่ไม่มีส่วนขยายเช่น "ExtensionUrlHandler-Integrated-4.0" และฉันเพิ่มคำกริยา DELETE เข้าไป แต่ก็ยังใช้ไม่ได้ ...

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

บริการเว็บเดียวกันทำงานได้ดีอย่างสมบูรณ์กับบริการในพื้นที่ของฉันดังนั้นฉันคิดว่าปัญหาเกิดจาก IIS ระยะไกล ...

ทักทาย


3
เฮ้บาร์ต คุณสามารถเปลี่ยนคำตอบเป็น web.config ได้หรือไม่? มันดีกว่าการถอนการติดตั้งจริงๆ และคุณมีผู้ชมมากมาย
Ashkan Sirous

คำตอบ:


30

สาเหตุที่พบบ่อยสำหรับข้อผิดพลาดนี้WebDAV อย่าลืมถอนการติดตั้ง


ฉันปิดการใช้งานแล้ว แต่มันไม่ช่วย
Bart

3
การปิดใช้งานไม่ได้ช่วยคุณต้องยกเลิกการติดตั้ง
John_

ฉันยืนยันได้ว่าการปิดใช้งานไม่ได้ช่วยอะไร @John_ ถูกต้องคุณต้องถอนการติดตั้ง
Mike L

7
คำตอบของ giacomelli ด้านล่างควรทำเครื่องหมายว่าถูกต้องสำหรับคำถามนี้ เป็นโซลูชันภายในที่ไม่ต้องการให้คุณถอนการติดตั้ง WebDav
Joseph Woodward

1
@ B.ClayShannon WebDAV ไม่ใช่โปรแกรมแบบสแตนด์อโลน แต่เป็นคุณสมบัติ IIS ดังนั้นขึ้นอยู่กับระบบปฏิบัติการของคุณคุณต้องหามันภายใต้คุณสมบัติ / บริการ / บทบาท / บทบาทของ windows / ... สิ่งอื่นใดที่พวกเขาคิดว่าดีที่จะคิดค้นเพื่อจำแนกมัน แต่ถ้าการเปลี่ยนแปลงใน web.config ไม่แตกต่างแสดงว่าคุณพบปัญหาอื่นอยู่ดี
Frédéric

360

คุณไม่จำเป็นต้องถอนการติดตั้ง WebDAV เพียงแค่เพิ่มบรรทัดเหล่านี้ใน web.config:

<system.webServer>
  <modules>
    <remove name="WebDAVModule" />
  </modules>
  <handlers>
    <remove name="WebDAV" />
  </handlers>
</system.webServer>

1
สิ่งนี้ได้ผลดี เราไม่จำเป็นต้องใช้มันทั้งหมด รวมทั้ง "ลบชื่อ = ... " บรรทัด
Chris Patterson

51
นี่ควรเป็นคำตอบที่ได้รับการยอมรับเนื่องจากเป็นโซลูชันเฉพาะที่แทนที่จะเป็นคำตอบทั่วโลก
Marco Mp

3
สิ่งนี้เพิ่งเกิดขึ้นก่อนการสาธิตครั้งใหญ่ในเช้าวันพรุ่งนี้ คุณช่วยชีวิตฉันอย่างแท้จริง
Sonic Soul

27
"คุณช่วยชีวิตฉันอย่างแท้จริง" - ทันใดนั้นลูกค้าของฉันก็ดูไม่เลวร้ายนัก
Brandon Gano

3
คำตอบที่ยอดเยี่ยม ฉันยอมรับว่านี่ควรเป็นคำตอบที่ได้รับการยอมรับ สิ่งนี้ทำให้ฉันรู้สึกดีกว่าการถอนการติดตั้ง WebDAV จากเว็บเซิร์ฟเวอร์ของเราโดยสิ้นเชิง
mituw16

18

เปลี่ยนไฟล์ Web.Config ของคุณตามด้านล่าง

 <system.webServer>
<validation validateIntegratedModeConfiguration="false"/>
<modules runAllManagedModulesForAllRequests="true">
<remove name="WebDAVModule" />
</modules>
<handlers>
<remove name="WebDAV"/>
<remove name="ExtensionlessUrlHandler-Integrated-4.0"/>
<remove name="OPTIONSVerbHandler"/>
<remove name="TRACEVerbHandler"/>
<add name="ExtensionlessUrlHandler-Integrated-4.0" path="*." verb="*" type="System.Web.Handlers.TransferRequestHandler" preCondition="integratedMode,runtimeVersionv4.0" />
</handlers>
</system.webServer>

1
การเพิ่มการลบ WebDAV และ WebDAVMODULE ทำให้ฟังก์ชัน PUT และ DELETE ขอบคุณ.
Gfw

มันแย่มากเมื่อฉันเพิ่มโค้ดด้านบนในไฟล์ webconfig โปรเจ็กต์ api ของฉัน
Baqer Naqvi

15

เปลี่ยนไฟล์ Web.Config ของคุณตามด้านล่าง มันจะทำเหมือนมีเสน่ห์

ในโหนด<system.webServer>เพิ่มส่วนล่างของโค้ด

<modules runAllManagedModulesForAllRequests="true">
  <remove name="WebDAVModule"/>
</modules>

หลังจากเพิ่มแล้ว Web.Config ของคุณจะมีลักษณะดังนี้

<system.webServer>
    <validation validateIntegratedModeConfiguration="false" />
    <modules runAllManagedModulesForAllRequests="true">
        <remove name="WebDAVModule"/>
    </modules>
    <httpProtocol>
    <customHeaders>
        <add name="Access-Control-Allow-Origin" value="*" />
        <add name="Access-Control-Allow-Headers" value="Content-Type" />
        <add name="Access-Control-Allow-Methods" value="GET, POST, PUT, DELETE, OPTIONS" />
    </customHeaders>
    </httpProtocol>
    <handlers>
      <remove name="ExtensionlessUrlHandler-ISAPI-4.0_32bit" />
      <remove name="ExtensionlessUrlHandler-ISAPI-4.0_64bit" />
      <remove name="ExtensionlessUrlHandler-Integrated-4.0" />
      <add name="ExtensionlessUrlHandler-ISAPI-4.0_32bit" path="*." verb="GET,HEAD,POST,DEBUG,PUT,DELETE,PATCH,OPTIONS" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness32" responseBufferLimit="0" />
      <add name="ExtensionlessUrlHandler-ISAPI-4.0_64bit" path="*." verb="GET,HEAD,POST,DEBUG,PUT,DELETE,PATCH,OPTIONS" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework64\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness64" responseBufferLimit="0" />
      <add name="ExtensionlessUrlHandler-Integrated-4.0" path="*." verb="GET,HEAD,POST,DEBUG,PUT,DELETE,PATCH,OPTIONS" type="System.Web.Handlers.TransferRequestHandler" preCondition="integratedMode,runtimeVersionv4.0" />
    </handlers>
</system.webServer>

คุณไม่ควรส่งคืน * สำหรับ Allow-Origin ดูstackoverflow.com/a/12014554
Karlas

@Karlas โปรดอ่านคำถามก่อนแสดงความคิดเห็นและลงคะแนน ไม่ได้ถามคำถามสำหรับ "Allow-Origin" แต่ถูกถามถึง handler สำหรับคำกริยา http
Santosh Prasad Sah

3
ฉันไม่ได้ลงคะแนนเป็นเพียงความคิดเห็นด้านข้างในกรณีที่มีคนคัดลอกวางโซลูชัน
Karlas

ขอบคุณ! runAllManagedModulesForAllRequests = "true" คือสิ่งที่ทำเพื่อฉัน
Eddie Fletcher

8

ฉันมีปัญหานี้และฉันแก้ไขสิ่งต่อไปนี้:

  1. เปิด IIS
  2. เลือกไซต์แบ็กเอนด์

    ป้อนคำอธิบายภาพที่นี่

  3. ในมุมมองคุณสมบัติ: เปิด Handler Mapping

ป้อนคำอธิบายภาพที่นี่

  1. ในหน้าต่าง Handler Mapping ค้นหา WebDAV

ป้อนคำอธิบายภาพที่นี่

  1. ใน Edit Module Mapping เปิดข้อ จำกัด การร้องขอ

ป้อนคำอธิบายภาพที่นี่

  1. ป้อนคำอธิบายภาพที่นี่

ช่วยชีวิตฉันไว้. ขอบคุณ
deanwilliammills

2
สิ่งนี้ไม่ได้ผล มันทำลายไซต์. Net CORE ทั้งหมด ต้องเปลี่ยนกลับ
ราวีราม

4

หากวิธีแก้ไขปัญหาข้างต้นไม่สามารถแก้ปัญหาของคุณได้เช่นในกรณีของฉัน (ยังคงติดอยู่กับโมดูล RestClient ของฉันที่หันหน้าเข้าหา 405) ให้ลองขอ Api ของคุณด้วยเครื่องมือเช่น Postman หรือ Fiddler ฉันหมายความว่าปัญหาอาจอยู่ที่อื่นเช่นคำขอที่มีรูปแบบไม่ถูกต้อง

ฉันพบว่าโมดูล RestClient ของฉันขอให้ 'ใส่' ด้วย Id paremeter ที่มีรูปแบบไม่ถูกต้อง:

http://myserver/api/someresource?id=75fd954d-d984-4a31-82fc-8132e1644f78

แทน

http://myserver/api/someresource/75fd954d-d984-4a31-82fc-8132e1644f78

คำขอที่มีรูปแบบไม่ถูกต้องส่งกลับ 405 - วิธีที่ไม่อนุญาต (IIS 7.5)


ฉันมีสถานการณ์เดียวกันที่นี่ แต่ในกรณีของฉันฉันต้องส่งร่างด้วยคำขอ PUT ของฉัน ฉันใช้ Insomnia (เช่น Postman) เป็นไคลเอนต์เครื่องมือและใช้งานได้ดีมาก แต่ไม่ใช่ในรหัสของฉัน ความคิดใด ๆ ?
Darós

3

ผิดปกติ แต่อาจช่วยได้บ้าง

ตรวจสอบให้แน่ใจว่าคุณใช้[HttpPut]จากSystem.Web.Http

เราได้รับ 'วิธีการไม่อนุญาต' 405 บนวิธีการตกแต่ง HttpPut

ปัญหาของเราดูเหมือนจะผิดปกติเนื่องจากเราบังเอิญใช้แอตทริบิวต์[HttpPut]จาก System.Web.Mvc ไม่ใช่ System.Web.Http

เหตุผลที่ทำให้ resharper แนะนำเวอร์ชัน. Mvc โดยที่ปกติ System.Web.Http ถูกอ้างอิงอยู่แล้วเมื่อคุณได้รับโดยตรงจากApiControllerเราใช้คลาสที่ขยาย ApiController


1
หากคุณใช้ Web API คุณจะไม่ตกแต่งเมธอดคอนโทรลเลอร์เลย แต่ใช้คำกริยาในชื่อเมธอด
niico

2

ฉันเคยมีสิ่งนี้เกิดขึ้น (ไม่อนุญาตวิธี 405) เมื่อวิธีการโพสต์ api ของเว็บที่ฉันเรียกมีประเภทดั้งเดิมสำหรับพารามิเตอร์แทนที่จะเป็นประเภทที่ซับซ้อนที่เข้าถึงได้จากร่างกาย ชอบมาก:

สิ่งนี้ได้ผล:

 [Route("update"), Authorize, HttpPost]
  public int Update([FromBody] updateObject update)

สิ่งนี้ไม่ได้:

 [Route("update"), Authorize, HttpPost]
 public int Update(string whatever, int whatever, string whatever)

1
นอกจากนี้ยังสามารถเกิดขึ้นได้หากมีความไม่ตรงกันระหว่างพารามิเตอร์ในเส้นทางและชื่อตัวแปรในลายเซ็นเมธอด (หรืออีกนัยหนึ่งคือ route = "/ api / person / {identity}" และ method = "public void putPerson (int id) {... } ")
RonnBlack

2

ข้อผิดพลาดนี้มาจากตัวจัดการ staticfile ซึ่งโดยค่าเริ่มต้นจะไม่กรองคำกริยาใด ๆ แต่อาจจัดการได้เฉพาะ HEAD และ GET เท่านั้น

และนี่เป็นเพราะไม่มีผู้ดูแลคนอื่นก้าวขึ้นไปบนจานและบอกว่าพวกเขาสามารถจัดการ DELETE ได้

เนื่องจากคุณใช้ WEBAPI ซึ่งเนื่องจากการกำหนดเส้นทางไม่มีไฟล์ดังนั้นจึงจำเป็นต้องเพิ่มส่วนเพิ่มเติมต่อไปนี้ในไฟล์ web.config ของคุณ:

<system.webserver>
    <httpProtocol>
        <handlers>
          ...
            <remove name="ExtensionlessUrlHandler-ISAPI-4.0_32bit" />
            <remove name="ExtensionlessUrlHandler-ISAPI-4.0_64bit" />
            <remove name="ExtensionlessUrlHandler-Integrated-4.0" />

            <add name="ExtensionlessUrlHandler-ISAPI-4.0_32bit" path="*." verb="GET,HEAD,POST,DEBUG,PUT,DELETE,PATCH,OPTIONS" modules="IsapiModule" scriptProcessor="C:\windows\Microsoft.NET\Framework\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness32" responseBufferLimit="0" />
            <add name="ExtensionlessUrlHandler-ISAPI-4.0_64bit" path="*." verb="GET,HEAD,POST,DEBUG,PUT,DELETE,PATCH,OPTIONS" modules="IsapiModule" scriptProcessor="C:\windows\Microsoft.NET\Framework64\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness64" responseBufferLimit="0" />
            <add name="ExtensionlessUrlHandler-Integrated-4.0" path="*." verb="GET,HEAD,POST,DEBUG,PUT,DELETE,PATCH,OPTIONS" type="System.Web.Handlers.TransferRequestHandler" preCondition="integratedMode,runtimeVersionv4.0" />

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

FYI, web.config ของคุณเป็นเวอร์ชันภายในของแอปพลิเคชัน (หรือไดเรกทอรีแอปพลิเคชัน) ซึ่งระดับบนสุดคือ applicationHost.config


1

ถ้าเป็น IIS 8.0 ให้ตรวจสอบว่าเปิดใช้งาน HTTP หรือไม่ ตัวจัดการเซิร์ฟเวอร์ -> IIS -> จัดการ (ดูด้านบนขวา) -> เพิ่มบทบาทและคุณสมบัติ -> ... -> ไปที่การกำหนดค่า WCF จากนั้นเลือกการเปิดใช้งาน HTTP


0

ในกรณีของเราปัญหาเกิดจากการลงชื่อแบบรวมศูนย์ระหว่างไซต์. Net และ ADFS เมื่อเปลี่ยนเส้นทางไปยังปลายทาง ADFS wctxพารามิเตอร์ที่จำเป็นทั้งหมดสามพารามิเตอร์สำหรับ WSFederationAuthenticationModule.CreateSignInRequestวิธีการ: rm, idและru

ขอบคุณ Guillaume Raymond สำหรับเคล็ดลับในการตรวจสอบพารามิเตอร์ URL!


0

นอกเหนือจากวิธีแก้ปัญหาข้างต้นแล้วให้ตรวจสอบว่าคุณมี " id" หรือพารามิเตอร์ที่กำหนดเองในDELETEวิธีการตรงกับการกำหนดค่าเส้นทางหรือไม่

public void Delete(int id)
{
    //some code here
}

หากคุณตีด้วยข้อผิดพลาด 405 ซ้ำให้รีเซ็ตลายเซ็นวิธีการเป็นค่าเริ่มต้นตามด้านบนแล้วลอง

การกำหนดค่าเส้นทางตามค่าเริ่มต้นจะค้นหาidใน URL ดังนั้นชื่อพารามิเตอร์idจึงมีความสำคัญที่นี่เว้นแต่คุณจะเปลี่ยนการกำหนดค่าเส้นทางภายใต้App_Startโฟลเดอร์

คุณสามารถเปลี่ยนประเภทข้อมูลidได้

ตัวอย่างเช่นวิธีการด้านล่างควรใช้งานได้ดี:

public void Delete(string id)
{
    //some code here
}

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

DELETE http://{url}/{action}/{id}

ตัวอย่าง:

DELETE http://localhost/item/1

หวังว่าจะช่วยได้


0

ฉันจะเพิ่มสำหรับผู้ที่ติดขัดในการพยายามเรียกใช้PHP( Laravelในกรณีนี้) หรือIISสถานการณ์การโฮสต์เฉพาะอื่น ๆ405 errorที่คุณต้องเปลี่ยนverbsในตัวจัดการสำหรับสถานการณ์นั้น ๆ ... ดังนั้นเนื่องจากฉันใช้PHPฉันจึงไปที่PHPจัดการและในRequest Restrictionsแล้วVerbsแท็บเพิ่มverbsที่คุณต้องการ นี่คือฉันทุกอย่างที่จำเป็นเพื่อเพิ่มweb.configการเปิดใช้งานในCORSLaravel

<handlers>
  <remove name="php-5.6.40" />
  <add name="php-5.6.40" path="*.php" verb="GET,HEAD,POST,PUT,DELETE,OPTIONS" modules="FastCgiModule" scriptProcessor="C:\Program Files (x86)\PHP\v5.6\php-cgi.exe" resourceType="Either" requireAccess="Script" />
</handlers>

0

ข้างต้นไม่ได้ผลสำหรับฉันและฉันมีปัญหาในการถ่ายทำโดยใช้หน้าสนับสนุน ( https://support.microsoft.com/en-us/help/942051/error-message-when-a-user-visits-a-website -that-is- Host -on-a-server) จากนั้นฉันเปรียบเทียบไฟล์โฮสต์ของแอปพลิเคชันกับหนึ่งในสำเนาที่ใช้งานได้และดูเหมือนว่าฉันจะไม่มีตัวจัดการจำนวนมากและเมื่อฉันเพิ่มกลับเข้าไปในแอปพลิเคชันโฮสต์มันก็เริ่มทำงาน ฉันคิดถึงสิ่งเหล่านี้ทั้งหมด

<add name="xamlx-ISAPI-4.0_64bit" path="*.xamlx" verb="GET,HEAD,POST,DEBUG" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework64\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness64" />
<add name="xamlx-ISAPI-4.0_32bit" path="*.xamlx" verb="GET,HEAD,POST,DEBUG" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness32" />
<add name="xamlx-Integrated-4.0" path="*.xamlx" verb="GET,HEAD,POST,DEBUG" type="System.Xaml.Hosting.XamlHttpHandlerFactory, System.Xaml.Hosting, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" preCondition="integratedMode,runtimeVersionv4.0" />
<add name="rules-ISAPI-4.0_64bit" path="*.rules" verb="*" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework64\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness64" />
<add name="rules-ISAPI-4.0_32bit" path="*.rules" verb="*" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness32" />
<add name="rules-Integrated-4.0" path="*.rules" verb="*" type="System.ServiceModel.Activation.ServiceHttpHandlerFactory, System.ServiceModel.Activation, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" preCondition="integratedMode,runtimeVersionv4.0" />
<add name="xoml-ISAPI-4.0_64bit" path="*.xoml" verb="*" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework64\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness64" />
<add name="xoml-ISAPI-4.0_32bit" path="*.xoml" verb="*" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness32" />
<add name="xoml-Integrated-4.0" path="*.xoml" verb="*" type="System.ServiceModel.Activation.ServiceHttpHandlerFactory, System.ServiceModel.Activation, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" preCondition="integratedMode,runtimeVersionv4.0" />
<add name="svc-ISAPI-4.0_64bit" path="*.svc" verb="*" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework64\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness64" />
<add name="svc-ISAPI-4.0_32bit" path="*.svc" verb="*" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness32" />
<add name="svc-Integrated-4.0" path="*.svc" verb="*" type="System.ServiceModel.Activation.ServiceHttpHandlerFactory, System.ServiceModel.Activation, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" preCondition="integratedMode,runtimeVersionv4.0" />
<add name="rules-64-ISAPI-2.0" path="*.rules" verb="*" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework64\v2.0.50727\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv2.0,bitness64" />
<add name="rules-ISAPI-2.0" path="*.rules" verb="*" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework\v2.0.50727\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv2.0,bitness32" />
<add name="rules-Integrated" path="*.rules" verb="*" type="System.ServiceModel.Activation.HttpHandler, System.ServiceModel, Version=3.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" preCondition="integratedMode,runtimeVersionv2.0" />
<add name="xoml-64-ISAPI-2.0" path="*.xoml" verb="*" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework64\v2.0.50727\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv2.0,bitness64" />
<add name="xoml-ISAPI-2.0" path="*.xoml" verb="*" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework\v2.0.50727\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv2.0,bitness32" />
<add name="xoml-Integrated" path="*.xoml" verb="*" type="System.ServiceModel.Activation.HttpHandler, System.ServiceModel, Version=3.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" preCondition="integratedMode,runtimeVersionv2.0" />
<add name="svc-ISAPI-2.0-64" path="*.svc" verb="*" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework64\v2.0.50727\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv2.0,bitness64" />
<add name="svc-ISAPI-2.0" path="*.svc" verb="*" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework\v2.0.50727\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv2.0,bitness32" />
<add name="svc-Integrated" path="*.svc" verb="*" type="System.ServiceModel.Activation.HttpHandler, System.ServiceModel, Version=3.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" preCondition="integratedMode,runtimeVersionv2.0" />
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.