gpt4 book ai didi

WCF/WebAPI : HTTP 500 error when I pass more than one parameter to a WebGet method

转载 作者:行者123 更新时间:2023-12-05 00:36:53 25 4
gpt4 key购买 nike

我有一个非常愚蠢的问题,但由于某种原因,我无法在网上找到任何治疗方法或有关它的信息。

总结:我不能向 WebGet 方法传递多个参数。如果我这样做,服务器将返回 HTTP 500 错误并且该方法不会执行。我的代码和请求如下。

[ServiceContract]
public class WebmailAPI {
...
[WebGet(UriTemplate= "Webmail?messagetype={messageType}&unreadonly={unreadOnly}&skip={skip}&take={take}")]
public void Get(MessageType messageType, bool unreadOnly, int skip, int take) {
...
}
}

全局.ASAX.CS:
route.SetDefaultHttpConfiguration(new WebApiConfiguration() { EnableHelpPage = true, EnableTestClient = true });
RouteTable.Routes.MapServiceRoute("api/");

此请求执行良好:
http://localhost:9000/api/Webmail/?messagetype=1

这个返回 500 错误:

http://localhost:9000/api/Webmail/?messagetype=1&unreadonly=0&skip=0&take=100

信息:
VS2010 SP1 + ASP.NET 4 + Entity Framework 2001 年 6 月 CTP + 最新的 WebAPI

提前感谢您的任何帮助!

附言我试图在查询字符串中对“&”进行 HTML 编码——没有效果。

最佳答案

使用 false而不是 0unreadonly :

http://localhost:9000/api/Webmail/?messagetype=1&unreadonly=false&skip=0&take=100

WCF Web HTTP Programming Model Overview ,特别是 UriTemplate 查询字符串参数和 URL 部分,用于按数据类型查询字符串参数格式。

关于WCF/WebAPI : HTTP 500 error when I pass more than one parameter to a WebGet method,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7650806/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com