Если вы хотите гибкости WCF, следующий код должен помочь вам начать. WCF может быть более сложным, чем другие ответы, но он обеспечивает некоторые преимущества, такие как повышенная гибкость и возможность размещения ваших служб из службы Windows.
Создайте сервис, который выглядит следующим образом:
[ServiceContract]
public interface ITestService {
[OperationContract]
[WebGet(
BodyStyle = WebMessageBodyStyle.Bare,
ResponseFormat = WebMessageFormat.Xml
)]
XElement DoWork(string myId);
}
И значение будет:
public class TestService : ITestService {
public XElement DoWork(string myId) {
return new XElement("results", new XAttribute("myId", myId ?? ""));
}
}
Ваш файл конфигурации приложения (web.config или app.config) будет содержать что-то вроде следующего:
<system.serviceModel>
<behaviors>
<endpointBehaviors>
<behavior name="WebBehavior">
<webHttp />
</behavior>
</endpointBehaviors>
</behaviors>
<services>
<service name="WebApplication1.TestService">
<endpoint behaviorConfiguration="WebBehavior"
binding="webHttpBinding"
contract="WebApplication1.ITestService">
</endpoint>
</service>
</services>
</system.serviceModel>
Если бы вы разместили это на сайте ASP.NET, у вас был бы файл с именем TestService.svc со следующим:
<%@ ServiceHost Language="C#" Debug="true"
Service="WebApplication1.TestService"
CodeBehind="TestService.svc.cs" %>