Alguma maneira de lidar com verbos Put e Delete no ASP.Net MVC?
-
09-06-2019 - |
Pergunta
apenas me perguntando se alguém conhece uma implementação Put/delete verdadeiramente tranquila, asp.net mvc preview 5, de preferência.
Solução
Confira o projeto mvccontrib em http://www.mvccontrib.org.No código-fonte, uma implementação tranquila foi adicionada e está atualizada até o Preview 5.Confira o código-fonte aqui - http://mvccontrib.googlecode.com/svn/trunk/src/MVCContrib/SimplyRestful
Outras dicas
Rails usa um parâmetro "método" no formulário e então o falsifica, mas chama o método apropriado se você o designar.
Entendo que a maioria dos clientes não suporta pilha repousante, mas o asp.net mvc pode negociar automaticamente esses verbos e colocá-los nas ações consideradas apropriadamente?
Eu tenho abordado isso no meu blog http://shouldersofgiants.co.uk/blog/ onde estou vendo um serviço web RESTful completo baseado em ASP.Net e MVC
Eu não sei de nada, mas você pode dar uma olhada na maneira como o Rails lida com isso se não encontrar mais nada e tentar portá-lo.Rails utiliza POST, GET, PUT e DELETE, mas aparentemente tem que fazer alguma falsificação para PUT.Pode valer a pena investigar se você estiver seco aqui.
Acho que o novo AcceptVerbsAttribute na visualização 5 deve ser capaz de direcionar qualquer tipo de solicitação para uma ação designada.Marcar um método como abaixo, em teoria, permite o tratamento de todos os verbos, mas não testei explicitamente colocar ou excluir.
[AcceptVerbs("delete")]
public object DoDeleteAction()
Com o MVC Beta, agora você pode usar uma enumeração HttpVerbs.
aqui está um exemplo...
[AcceptVerbs(HttpVerbs.Get)]
public ActionResult Index()
{ ... }
[AcceptVerbs(HttpVerbs.Post)]
public ActionResult Update()
{ ... }
[AcceptVerbs(HttpVerbs.Delete)]
public ActionResult Delete()
{ ... }
Você entendeu a ideia.
ah :)