IISでWCF Restベースのサービスをホストする際に、以下の問題が発生します。WCF RESTとIIS Express 7.5が要求エラー(400)を返します
インタフェース:
[ServiceContract]
public interface ITestService
{
[OperationContract]
[WebInvoke(Method = "GET", UriTemplate = "/GetEmployee/{userid}", RequestFormat = WebMessageFormat.Json, ResponseFormat = WebMessageFormat.Json,BodyStyle=WebMessageBodyStyle.Bare)]
IEnumerable<Employee> GetPlans(string userid);
}
TestService.svc.cs:
public class TestService : ITestService
{
public IEnumerable<Employee> GetEmployee(string userid)
{
return Employee
}
}
私はカッシーニのサーバーを使用する場合、それはJSON形式で細かいreturnштп結果を動作します。 URLは以下の通りです:
http://localhost:58764/TestService/TestService.svc/GetEmployee/2
が、私はURLでIIS Expressの7.5でそれをホスト:
http://localhost/TestService/TestService.svc/GetEmployee/2)
それは単純に言う:
「リクエストエラー
サーバーリクエストの処理中にエラーが発生しました。サービスへの有効なリクエストを作成するためのサービスヘルプページを参照してください。何の問題もなく、すべての利用可能なメソッドを返し
でhttp://localhost/TestService/TestService.svc/help
けどURL。
オブジェクトEmployeeがシリアライズ可能であることを確認してください。時々cassiniを介したシリアル化は成功しますが、IIS上でホストされると失敗します。また、IISでホストされているときにサービスのトレースを有効にして、要求が失敗した理由を正確に把握してください。返されるデータのサイズにもよる可能性があります – Rajesh