Я пытаюсь выяснить время жизни WebServiceHost. Я думал, что первоначально это будет для каждого вызова / запроса (то есть аналогично странице ASP.Net, создаваемой для каждого запроса). Я создал пользовательские WebServiceHostFactory и WebServiceHost, но заметил, что Factory и Host создаются только один раз.
CustomWebServiceHostFactory переопределяет CreateServiceHost, а CustomWebServiceHost переопределяет OnOpening, чтобы выдавать некоторую диагностику для отслеживания времени жизни.
Мой сервисный файл
[ServiceContract]
[ServiceBehavior(InstanceContextMode = InstanceContextMode.PerCall)]
[AspNetCompatibilityRequirements(RequirementsMode = AspNetCompatibilityRequirementsMode.Allowed)]
public partial class ProductService
{
... // code
}
My Global.asax File
private void RegisterRoutes()
{
RouteTable.Routes.Add(new ServiceRoute("products", new CustomServiceHostFactory(), typeof(ProductService)));
}
Кто-нибудь может объяснить, почему два запроса попадают в один и тот же экземпляр CustomWebServiceHost, и как мне создать новый хост для каждого запроса на обслуживание?
Спасибо