私はこれがすでに尋ねられていることを知っています。私はここで危機に瀕しています。
PUT メソッドを機能させることができません。ただのRESTサービス。iis 7 ウィンドウ 7 64 ビット。
メソッドが許可されておらず、ヒントも1つもありません。.svc ファイルを使用しています。
助けてください!ありがとう
これには多くの理由が考えられます。WCF Web サービスの動作に関する診断情報を取得できるように、以下を web.config に追加することをお勧めします ( が閉じられる直前)。
<system.diagnostics>
<sources>
<source name="System.ServiceModel"
switchValue="Information, ActivityTracing"
propagateActivity="true">
<listeners>
<add name="traceListener"
type="System.Diagnostics.XmlWriterTraceListener"
initializeData= "c:\temp\webservicelog.svclog" />
</listeners>
</source>
</sources>
また、以下のように PUT をメソッド操作コントラクトに配置していますか :
[OperationContract]
[WebInvoke(Method = "PUT", RequestFormat = WebMessageFormat.Json, ResponseFormat = WebMessageFormat.Json, BodyStyle = WebMessageBodyStyle.Bare, UriTemplate = "DoWork")]
私は反対票を投じられましたが、調べてみると、多くの人がこれに悩まされています.
だから、私が学んだこと:
Failed Traceのおかげで、WebDAVをアンインストールすることで最終的に解決しました!! 私はすでにそれを試していましたが、Chrome Rest Extensionで確認したり、ブラウザのURLを介して確認したりしていました。どうやら、私が最初に WebDAV のアンインストールを試みたとき、Chrome Rest で確認したことはなかったようです。今、私は初心者です。
サービスを完全に制御するために独自のコードを作成することになりました。
同じ問題を抱えている方は、失敗したリクエストのトレースを有効にしてください。次に、XML 出力で次を探します。
405
その近くに、それを引き起こしているろくでなしが見つかります。私の場合は、webDAV でした。残りの Chrome 拡張機能や独自のアプリなど、実際に実際の PUT 動詞を送信するツールを使用することを忘れないでください。Web ブラウザの URL ではありません。
よろしく