テレメトリデータを受信するWeb APIを作成しています。ヘキサ・ストリング形式のテレメトリ・データは、Web API URLへのPOSTになります。このWeb APIには、認証もRoutePrefixもRouteも必要ありません。コンテンツタイプ:テキスト/プレーンHTTPエラー405.0のWeb API POSTデータ - メソッドが許可されていません
ここは私のコーディングです。
[Route("")]
[EnableCors(origins: "*", headers: "*", methods: "*")]
public class MyData_Controller : ApiController
{
[HttpPost]
[ActionName("DefaultAction")]
public Task<IHttpActionResult> DataPost(String myData)
{
SaveData(myData);
return Task.FromResult<IHttpActionResult>(Json(true));
}
protected void SaveData(String myData)
{
}
}
私はこのWebAPIをIIS8.5にホストしました。 web.configファイルでは、私はポストマンにPOSTを使用してテストする場合、私は、次の
<system.webServer>
<handlers accessPolicy="Read, Execute, Script">
<remove name="ExtensionlessUrlHandler-Integrated-4.0" />
<remove name="OPTIONSVerbHandler" />
<remove name="TRACEVerbHandler" />
<remove name="WebDAV" />
<add name="ExtensionlessUrlHandler-Integrated-4.0" path="*."
verb="GET,HEAD,POST,PUT"
type="System.Web.Handlers.TransferRequestHandler" resourceType="Unspecified" requireAccess="Execute" preCondition="integratedMode,runtimeVersionv4.0" />
</handlers>
<modules runAllManagedModulesForAllRequests="true">
<remove name="WebDAVModule" />
</modules>
</system.webServer>
を追加し、私は次のエラーを取得する
HTTP Error 405.0 - Method Not Allowed
The page you are looking for cannot be displayed because an invalid method (HTTP verb) is being used.
Detailed Error Information:
Module DirectoryListingModule
Notification ExecuteRequestHandler
Handler StaticFile
Error Code 0x80070001
Requested URL http://MyDataServer.com:2331/
Physical Path E:\Applications\Web API\MyDataServer_WebAPI
Logon Method Anonymous
Logon User Anonymous
ポストマン・ヘッダは
Allow → GET, HEAD, OPTIONS, TRACE
いを示し動詞のPOSTまたはPUTが有効になっていないことを意味しますか?
StaticFileハンドラを確認しました。ハンドラマッピングと要求された制限 - >動詞すべての動詞が選択されています。
私の実装とサイト設定で何が問題になっていますか?
あなたが使用することができます '[のAllowAnonymous]'コントローラやアクションに偽の認証を有する回避します。 – Nkosi