C# 如何从URL调用HTTP PUT?
情景:- 我有一个表单,一旦用户提交此表单,就会向用户发送一封邮件。 像往常一样,邮件正文中有一个激活链接 如果用户单击链接,他将被重定向到页面,现在在访问url时,我想更新我的DB表中的字段:-C# 如何从URL调用HTTP PUT?,c#,asp.net,asp.net-web-api,C#,Asp.net,Asp.net Web Api,情景:- 我有一个表单,一旦用户提交此表单,就会向用户发送一封邮件。 像往常一样,邮件正文中有一个激活链接 如果用户单击链接,他将被重定向到页面,现在在访问url时,我想更新我的DB表中的字段:- 已验证为正确 验证日期 我正在使用WebAPI和HTTPPUT操作更新数据库。 ControllerName是注册,我不希望用户点击任何额外的按钮进行更新,我希望如果用户访问url,则应调用HTTPPut(或update)操作,并且一旦用户点击,链接无效。我假设此场景中的操作流程如下: 用户在网页上填
ControllerName是注册,我不希望用户点击任何额外的按钮进行更新,我希望如果用户访问url,则应调用HTTPPut(或update)操作,并且一旦用户点击,链接无效。我假设此场景中的操作流程如下:
http PUT
方法公开
问题在于,在浏览器中打开的电子邮件中单击链接时,无法指定http
方法。在浏览器中导航到URL是一个GET
请求,这就是您正在执行的操作。所以你的PUT
动作永远不会被击中
要解决此问题,您只需将操作从PUT
更改为GET
更改此项:
[HttpPut]
[Route("verify/{hash}")
public void VerifyEmail(string hash){
// your implementation logic
}
为此:
[HttpGet]
[Route("verify/{hash}")
public void VerifyEmail(string hash){
// your implementation logic
}
你现在被困在哪里?使用Javascript发送Put请求?太清楚了,当用户单击链接时,您是否尝试更新数据库中的某些字段?请注意,您不能在URL中指定httpmethod Put,您需要修改该URL的请求标头。所以你可以用fiddler来做这件事example@Mark..its没有击中HTTPPut acion