私は非常にばかげた問題を抱えていますが、何らかの理由で、ネット上でそれに関する治療法や情報を見つけることができません.
概要: 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) {
...
}
}
Global.ASAX.CS: routes.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 June 2001 CTP + 最新の WebAPI
事前に助けてくれてありがとう!
PSクエリ文字列で「&」をHTMLエンコードしようとしましたが、効果はありません。