Увеличение времени ожидания в приложении Silverlight - PullRequest
1 голос
/ 19 февраля 2012

У меня есть приложение silverlight 4 с включенной службой RIA, также silverlight использует службу WCF, и все это размещено на IIS. Мне нужно увеличить время ожидания Silverlight для службы WCF и служб RIA и IIS 7.5. Как я могу установить установленные параметры тайм-аута (сервисы ria, WCF, IIS)? P.S

где находятся поля соответствия в конфигурации?

1 Ответ

0 голосов
/ 18 сентября 2012

Я столкнулся с той же проблемой, я разместил ответ на этот вопрос здесь: Проблема времени ожидания службы RIA Silverlight 4 WCF

Вот ответ:

Я ответил на тот же вопрос здесь: Время ожидания службы SPF ria SP1 истекло

Ответ:

Я объясню свой контекст и хочу, чтобы это сработало для меня. Я уверен в этом.

Прежде всего, чтобы вызвать службы RIA и использовать некоторый контекст домена, в моем примере:

EmployeeDomainContext context = new EmployeeDomainContext();
InvokeOperation<bool> invokeOperation = context.GenerateTMEAccessByEmployee(1, 'Bob');
invokeOperation.Completed += (s, x) =>
    {....};

Ничего нового, пока здесь. И с этим я сталкивался каждый раз с тем же самым исключением тайм-аута через 1 минуту. Я провожу довольно много времени, пытаясь понять, как изменить определение тайм-аута, я перепробовал все возможные изменения в Web.config и ничего. Решение было:

Создайте CustomEmployeeDomainContext, который является частичным классом , локализованным по тому же пути сгенерированного кода , и этот класс использует метод ловушки OnCreate для изменения поведения контекста созданного домена. В этом классе вы должны написать:

public partial class EmployeeDomainContext : DomainContext
{
    partial void OnCreated()
    {
        PropertyInfo channelFactoryProperty = this.DomainClient.GetType().GetProperty("ChannelFactory");
        if (channelFactoryProperty == null)
        {
            throw new InvalidOperationException(
              "There is no 'ChannelFactory' property on the DomainClient.");
        }

        ChannelFactory factory = (ChannelFactory)channelFactoryProperty.GetValue(this.DomainClient, null);

        factory.Endpoint.Binding.SendTimeout = new TimeSpan(0, 10, 0); 

    }
}

Я с нетерпением жду ваших отзывов.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...