C#MVC WEBAPIレポート405エラーを置きます

ネイティブデバッグ用プログラムでは、適切に修正することができ、マシンはiis11です

サーバー上で入れて、間違ったレポート:405。サーバーiis7.0

リターンエラーページ:

<!DOCTYPE用HTML PUBLIC " - // W3C // DTD XHTML 1.0厳格// EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd" > 
< HTML のxmlns = "のhttp:/ /www.w3.org/1999/xhtml」> 
< > 
< メタHTTP-当量= "Content-Typeの" コンテンツ= "text / htmlの;のcharset = 2312" /> 
< タイトル> 405 -不允许用于访问此。页的HTTP谓词</ タイトル> 
< スタイルタイプ= "テキスト/ cssの" > 
<! - 
ボディ{ マージン0 ;フォントファミリMS Pゴシック、ゴシック、ヘルベチカ、サンセリフ; 背景#EEEEEE ; } 
フィールドセット{ パディング0 15ピクセル10pxの15ピクセル}  
H1 { フォントサイズ2.4em マージン0 ; #FFF ; } 
H2 { フォントサイズ1.7em マージン0 ; #CC0000 ; }  
H3 { フォントサイズ1.2em ; マージン10pxの0 0 0 ; #000000 ; }  
#ヘッダー{ 96% マージン0 0 0 0 ; パディング計6Px 2%計6Px 2% フォントファミリ「投石機のMS」、MS Pゴシック、サンセリフ; #FFF ; 
背景色#555555 ; } 
#content { マージン0 0 2% 位置相対;} 
.content容器{ 背景#FFF 96% マージントップ8px ; パディング10pxの; 位置相対; } 
- > 
</ スタイル> 
</ ヘッド> 
< ボディ> 
< DIV ID = "ヘッダ" > < H1 >服务器错误</ H1 > </ DIV > 
< DIV ID = "コンテンツ" >
 < のdiv クラス=「コンテンツコンテナ」> < フィールドセット> 
  < H2 > 405 - HTTP動詞のアクセスに使用されるこのページは許可されていません。</ H2 > 
  < H3 >アクセスしようとしたとき、あなたが探しているページは無効メソッド(HTTP動詞)ので、表示することができません。</ H3 > 
 </ fieldsetの> </ DIV > 
</ DIV > 
</ ボディ> 
</ HTML >

 

 

 

 

 

これをNaを押し下げ、最後に変更された設定ファイルweb.configファイルは解決しました

<handlers>
      <remove name="ExtensionlessUrlHandler-ISAPI-4.0_32bit" />
      <remove name="ExtensionlessUrlHandler-ISAPI-4.0_64bit" />
      <remove name="ExtensionlessUrlHandler-Integrated-4.0" />
      <remove name="WebDAV" />
      <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>
    <modules>
      <remove name="WebDAVModule" />
    </modules>

 

 也就是添加一条:

<remove name="WebDAV" />
 <modules>
      <remove name="WebDAVModule" />
    </modules>
解决的,暂时还不清楚为什么这个搞

https://stackoverflow.com/questions/12440277/how-do-i-enable-http-put-and-delete-for-asp-net-mvc-in-iis

おすすめ

転載: www.cnblogs.com/mantishell/p/12056423.html
おすすめ