私の懸念は、JSON を返す私の web-api プロジェクトはローカルでは非常にうまく機能しますが、共有ホスティングでホストされている場合です。
私はすでにこれを追加しました
<modules runAllManagedModulesForAllRequests="true">
<remove name="WebDAVModule"/>
</modules>
私もこれをチェックしました http://geekswithblogs.net/michelotti/archive/2011/05/28/resolve-404-in-iis-express-for-put-and-delete-verbs.aspx
この記事に記載されている設定も確認しましたが、すべてそこにありました。
DELETE および PUT - http://api.antheminfotech.net/api/employees/23 - 500 エラー
私は多くのことに疲れました。私は web-api に少し慣れていないので、何かが足りないのかもしれません...または、必要なアクセス権を得るために VPS ホスティングが必要ですか....
ところで、私はenitiyフレームワークを使用しており、EFモデルに基づいて自動生成されたコントローラーを作成しています。
Function PutEmpDetail(ByVal id As Integer, ByVal empdetail As EmpDetail) As HttpResponseMessage
If Not ModelState.IsValid Then
Return Request.CreateErrorResponse(HttpStatusCode.BadRequest, ModelState)
End If
If Not id = empdetail.Id Then
Return Request.CreateResponse(HttpStatusCode.BadRequest)
End If
db.Entry(empdetail).State = EntityState.Modified
Try
db.SaveChanges()
Catch ex As DbUpdateConcurrencyException
Return Request.CreateErrorResponse(HttpStatusCode.NotFound, ex)
End Try
Return Request.CreateResponse(HttpStatusCode.OK)
End Function
Function DeleteEmpDetail(ByVal id As Integer) As HttpResponseMessage
Dim empdetail As EmpDetail = db.EmpDetails.Find(id)
If IsNothing(empdetail) Then
Return Request.CreateResponse(HttpStatusCode.NotFound)
End If
db.EmpDetails.Remove(empdetail)
Try
db.SaveChanges()
Catch ex As DbUpdateConcurrencyException
Return Request.CreateErrorResponse(HttpStatusCode.NotFound, ex)
End Try
Return Request.CreateResponse(HttpStatusCode.OK, empdetail)
End Function