Я объясню свой контекст и хочу, чтобы он работал на мой.Я уверен в этом.
Прежде всего, для вызова служб 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);
}
}
Я жду ваших отзывов.