Может кто-нибудь посоветовать хороший шаблон для использования службы WCF со страницы ASP.net? Кажется, что если время жизни клиента (: ServiceModel.ClientBase) не контролируется должным образом, мы получаем исключение PipeException. В настоящее время он существует как поле класса Page, но переоценивается при каждом запросе страницы без очистки (метод .Close).
Я подозреваю, что этот вопрос можно перефразировать как «Управление ограниченными ресурсами на странице ASP.net», и, вероятно, он больше связан с жизненным циклом страницы ASP.net. Я новичок в ASP.net, поэтому я немного разбираюсь в этом.
ТИА.
РЕДАКТИРОВАТЬ: некоторый код (это не так много!)
public partial class Default : Page
{
//The WCF client... obviously, instantiating it here is bad,
//but where to instantiate, and where to close?
private readonly SearchClient client = new SearchClient();
protected void Page_Load(object sender, EventArgs e)
{
2nd Edit: Будет ли лучше следующее?
public partial class Default : Page
{
private SearchClient client;
protected void Page_Unload(object sender, EventArgs e)
{
try
{
client.Close();
}
catch
{
//gobbled
}
}
protected void Page_Load(object sender, EventArgs e)
{
client= new SearchClient();
//.....