首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Simple.Odata:如何调用在asp.net mvc请求体中传递参数的函数

Simple.Odata:如何调用在asp.net mvc请求体中传递参数的函数
EN

Stack Overflow用户
提问于 2017-11-09 00:26:01
回答 1查看 952关注 0票数 1

标题有点误导,这是我的情况:使用postman,我可以调用下面的url来发布帖子,我的函数就可以工作了。

http://localhost/odataservice/odata/Evaluations(9)/CreateEmptyForm

为了让它正常工作,我必须在正文部分发送以下内容:

代码语言:javascript
复制
    {
        "@odata.type": "#Common.Data.Client",
        "ClientId": 1
    }

当我试图在我的asp.net mvc应用程序中复制它时,我的问题就出现了。好了,我在做

代码语言:javascript
复制
    public int CreateRvaForm(int clientId, int evalId, int type)
    {
        var key = Task.Run(async () =>
        {
            var data = await
                client
                    .For<Evaluation>(Constants.DataService.PLURAL_EVALUATIONS)
                    .Key(evalId)
                    .Function( type==0 ? Constants.DataService.FUNCTION_CREATE_RVA_EMPTY : Constants.DataService.FUNCTION_CREATE_RVA_DUPLICATE)
                    .Set( new{ClientId=clientId} )
                    .ExecuteAsScalarAsync<int>();
            return data;

        }).GetAwaiter().GetResult();
        return key;
    }

在这里,变量client是Simple.Odata.Client对象。

我收到的错误与路由未找到有关;debug显示库正在尝试执行url

http://localhost/odataservice/odata/Evaluations(9)/CreateEmptyForm(clientId=XX)。我没有修改odata服务的权限。

EN

回答 1

Stack Overflow用户

发布于 2018-03-26 19:12:46

根据this text (“执行函数和动作”),您应该尝试使用Action而不是Function,因为action是基于POST的调用,而function则转换为HTTP GET

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

https://stackoverflow.com/questions/47184790

复制
相关文章

相似问题

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