C# 控制器ActionResult中的Guid参数始终为空

C# 控制器ActionResult中的Guid参数始终为空,c#,asp.net-mvc,asp.net-web-api,controller,C#,Asp.net Mvc,Asp.net Web Api,Controller,我有一个控制器,如下所示: public async Task<IHttpActionResult> MyControllerMethod(string currency = null, string edition = null, int? sy

我有一个控制器,如下所示:

public async Task<IHttpActionResult> MyControllerMethod(string currency = null,
                                                            string edition = null,
                                                            int? systems = null,
                                                            string version = null,
                                                            Guid? entitlementid = null)
{
//Code here
}
currency = eur
edition = DSSTANDARD
systems = 50
version = 6.3
该方法的所有参数的值如下所示:

public async Task<IHttpActionResult> MyControllerMethod(string currency = null,
                                                            string edition = null,
                                                            int? systems = null,
                                                            string version = null,
                                                            Guid? entitlementid = null)
{
//Code here
}
currency = eur
edition = DSSTANDARD
systems = 50
version = 6.3
但是,如果我添加最后一个参数也这样做:

...&entitlementid=B5630B37-0820-4EB0-8A2A-000C44885590/
然后,前3个值具有URL中的值,但
authoritmentId
始终为
null
。 问题是什么

路由配置

config.Routes.MapHttpRoute( 
    name: "DefaultApi", 
    routeTemplate: "{controller}/{action}/{id}", 
    defaults: new { id = RouteParameter.Optional } 
);

在查询字符串的末尾包含一个额外的斜杠
/

…&权利ID=B5630B37-0820-4EB0-8A2A-000C44885590/
这导致
Guid
绑定无效。如果删除斜杠并发出请求,则将填充
权利ID

http://*:*/MyController/MyControllerMethod/?currency=eur&edition=DSSTANDARD&systems=50&version=6.3&requenticationId=B5630B37-0820-4EB0-8A2A-000C44885590


应该可以正常工作。

@KartikeyaKhosla我没有这个看起来像WebAPI调用的功能。能否显示路由配置。@Nkosi config.Routes.maphttprote(名称:“DefaultApi”,路由模板:“{controller}/{action}/{id}”,默认值:new{id=RouteParameter.Optional});如果尝试将
权利ID
更改为字符串,它是否仍然为空?