我使用wcf Web服务作为backbone.js应用程序的持久层。
[OperationContract]
[WebGet]
public IEnumerable<AnalysisParameterSet> AnalysisParameters()
{
// implementation
}
[OperationContract]
[WebInvoke(Method = "POST")]
public void AnalysisParameters(IEnumerable<AnalysisParameterSet> parameterSets)
{
// implementation
}
我想在服务上创建两个具有相同名称但不同签名的方法,一个用于GET,一个用于POST。
然而,wcf抱怨有2个方法具有相同的名称。我知道我可以使用OperationContract的name属性来区分它们。对于共享相同名称的方法,这不是理想的主干。
我可以为GET和POST使用相同的方法名吗?
如果我不能在WCF中这样做。我将如何修改backbone.js以使用不同的方法进行发布和获取。
答案 0 :(得分:2)
我相信你想要的是:
[OperationContract]
[WebGet(UriTemplate = "/AnalysisParameters")]
public IEnumerable<AnalysisParameterSet> GetAnalysisParameters()
{
// implementation
}
[OperationContract]
[WebInvoke(Method = "POST", UriTemplate = "/AnalysisParameters")]
public void PostAnalysisParameters(IEnumerable<AnalysisParameterSet> parameterSets)
{
// implementation
}
根据http方法(post / get),将调用一个或另一个函数。