Меня поразила следующая проблема при размещении служб WCF Rest в IIS.
Интерфейс:
[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
}
}
когда я использую сервер Cassini, он работает нормально, возвращает результат в формате json. Урл следующий:
http://localhost:58764/TestService/TestService.svc/GetEmployee/2
но когда я размещаю это в IIS Express 7.5 по URL-адресу:
http://localhost/TestService/TestService.svc/GetEmployee/2)
он просто говорит:
Ошибка запроса
Сервер обнаружил ошибку при обработке запроса. См. Страницу справки службы для создания действительных запросов к службе.
но URL в
http://localhost/TestService/TestService.svc/help
без проблем возвращает все доступные методы.