using System;
using System.Linq;
using System.ServiceModel;
using System.ServiceModel.Channels;
using System.ServiceModel.Description;
namespace wcf3
{
class Program
{
static void Main(string[] args)
{
ServiceHost serviceHost = new ServiceHost(typeof(TestService), new Uri("http://localhost:80/Test3"));
// Create Meta Behavior
ServiceMetadataBehavior behavior = new ServiceMetadataBehavior();
behavior.HttpGetEnabled = true;
serviceHost.Description.Behaviors.Add(behavior);
Binding mexBinding = MetadataExchangeBindings.CreateMexHttpBinding();
serviceHost.AddServiceEndpoint(typeof(IMetadataExchange), mexBinding, "mex");
WSHttpBinding httpBinding = new WSHttpBinding(SecurityMode.None);
serviceHost.AddServiceEndpoint(typeof(ITestService), httpBinding, "rest");
serviceHost.Open();
Console.WriteLine("TestService is now running. at: " + serviceHost.BaseAddresses.First());
Console.WriteLine("Press any key to stop it ...");
Console.ReadKey();
serviceHost.Close();
}
}
[ServiceContract]
public interface ITestService
{
[OperationContract]
string Test(string input);
}
public class TestService : ITestService
{
public string Test(string input)
{
return input + DateTime.Now.ToString();
}
}
}