원격 데이터를 수신하기위한 웹 API를 작성 중입니다. 16 진수 문자열 형식의 원격 측정 데이터는 웹 API URL에 대한 POST 여야합니다. 이 웹 API에는 인증, RoutePrefix 및 라우트가 필요하지 않습니다. 내용 유형 : 텍스트/일반오류가있는 웹 API POST 데이터 HTTP 오류 405.0 - 허용되지 않는 메소드
다음은 나의 코드입니다.
[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