Меня поразила следующая проблема при размещении служб IIS на основе WCF.
Интерфейс:
[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. URL следующий:
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
возвращает все доступные методы без проблем.