首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >WebInvoke方法=*

WebInvoke方法=*
EN

Stack Overflow用户
提问于 2015-03-17 21:04:20
回答 2查看 1.1K关注 0票数 2

我目前正在从事一个项目,在这个项目中,以前的开发人员使用*作为WebInvoke的方法。

代码语言:javascript
复制
[OperationContract]
[WebInvoke(Method = "*", UriTemplate = "/Path", ResponseFormat = WebMessageFormat.Json)]
void SetPath(PathInfo pathInfo);

我想知道*是为了什么-如果有什么用。我期待着得到,放置,张贴等.不是明星。最初,我认为默认(POST),但没有理由使用*如果它是相同的默认。

MSDN似乎并没有解决这个问题(MSDN WebInvokeAttribute.Method ),但是除了默认的POST之外,它们并不真正地处理任何方法。

这个post (实施方法)似乎表明*应该与OPTIONS方法一起作为UriTemplate使用。所以,我只是想弄清楚他是否不正确,或者他的代码是否有效,在这种情况下,我想知道它意味着什么。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-03-17 23:32:36

我对System.ServiceModel.Description.WebHttpBehavior进行了解压缩,它使用了WebInvoke,您可以看到这只是一个通配符操作,匹配所有内容。

代码语言:javascript
复制
public class WebHttpBehavior : IEndpointBehavior, IWmiInstanceProvider
{
    internal const string GET = "GET";
    internal const string POST = "POST";
    internal const string WildcardAction = "*";
    internal const string WildcardMethod = "*";

这是一个捕获所有行为

票数 1
EN

Stack Overflow用户

发布于 2017-08-06 06:10:00

使用WebInvoke(method=“.是从浏览器支持CORS请求(预运行,方法=“选项”)的方式。在您的服务方法上使用“”会将CORS预飞行请求路由到您的服务方法中(除了get/post/put等)。让你处理飞行前的事。否则,您的方法将不会在飞行前请求中被调用,预飞将失败(在浏览器中)。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29109646

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档