-1

私はこれがすでに尋ねられていることを知っています。私はここで危機に瀕しています。

PUT メソッドを機能させることができません。ただのRESTサービス。iis 7 ウィンドウ 7 64 ビット。

メソッドが許可されておらず、ヒントも1つもありません。.svc ファイルを使用しています。

助けてください!ありがとう

4

2 に答える 2

2

これには多くの理由が考えられます。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")]
于 2013-05-17T19:27:52.517 に答える
0

私は反対票を投じられましたが、調べてみると、多くの人がこれに悩まされています.

だから、私が学んだこと:

  • ENABLE Trace Failed Requests !!! 私は気が進まなかったし、前にやるべきだった。私は技術的な問題に執着するタイプなので、昼夜を問わず節約できたかもしれません。
  • PUT メソッドは、ブラウザーで URL を介してテストすることはできません!!!!

Failed Traceのおかげで、WebDAVをアンインストールすることで最終的に解決しました!! 私はすでにそれを試していましたが、Chrome Rest Extensionで確認したり、ブラウザのURLを介して確認したりしていました。どうやら、私が最初に WebDAV のアンインストールを試みたとき、Chrome Rest で確認したことはなかったようです。今、私は初心者です。

サービスを完全に制御するために独自のコードを作成することになりました。

同じ問題を抱えている方は、失敗したリクエストのトレースを有効にしてください。次に、XML 出力で次を探します。

405

その近くに、それを引き起こしているろくでなしが見つかります。私の場合は、webDAV でした。残りの Chrome 拡張機能や独自のアプリなど、実際に実際の PUT 動詞を送信するツールを使用することを忘れないでください。Web ブラウザの URL ではありません。

よろしく

于 2013-05-18T16:26:11.140 に答える