protected override ServiceDescription CreateDescription(
out IDictionary <string, ContractDescription> implementedContracts)
{
contracts = new Dictionary <string, ContractDescription> ();
implementedContracts = contracts;
ServiceDescription sd;
IEnumerable <ContractDescription> contractDescriptions = GetServiceContractDescriptions();
foreach (ContractDescription cd in contractDescriptions)
{
contracts.Add(cd.ContractType.FullName, cd);
}
if (SingletonInstance != null)
{
sd = ServiceDescription.GetService(instance);
}
else
{
sd = ServiceDescription.GetService(service_type);
}
ServiceBehaviorAttribute sba = PopulateAttribute <ServiceBehaviorAttribute> ();
if (SingletonInstance != null)
{
sba.SetWellKnownSingleton(SingletonInstance);
}
sd.Behaviors.Add(sba);
return(sd);
}