2012-03-05 4 views
0

Я внедрил односторонний метод wcf. Я следил за способом, упомянутым в этой статье, для обработки вызова webservice article Я использую этот класс ниже для вызова веб-службы.WCF звонки терпит неудачу иногда

public delegate void UseServiceDelegate<T>(T proxy); 

public static class Service<T> 
{ 
    public static ChannelFactory<T> _channelFactory = new ChannelFactory<T>("*"); 

    public static void Use(UseServiceDelegate<T> codeBlock) 
    { 
     IClientChannel proxy = (IClientChannel)_channelFactory.CreateChannel(); 
     bool success = false; 
     try 
     { 
      codeBlock((T)proxy); 
      proxy.Close(); 
      success = true; 
     } 
     finally 
     { 
      if (!success) 
      { 
       proxy.Abort(); 
      } 
     } 
    } 
} 

Service<IOrderService>.Use(orderService=> 
{ 
    orderService.PlaceOrder(request); 
} 

Когда мы переместили код для производства, иногда вызов ФОС терпит неудачу, не давая никаких сообщений об ошибках, а иногда она работает без каких-либо проблем. У меня есть сервис и клиент в одном приложении.

Любая помощь очень ценится.

Мой Интерфейс:

[ServiceContract(SessionMode = SessionMode.NotAllowed)] 
public interface IOrderService 
{ 
     [OperationContract(IsOneWay = true)] 
     void PlaceOrder(OrderRequest request); 
} 

ответ

1

Добавить блок catch в ваш оператор try и, по крайней мере, зарегистрировать сообщение, если вы не хотите обрабатывать ошибки здесь.

catch (Exception ex0) 
    { 
     // Log exception here 
     throw; // will rethrow the same exception to outside 
    } 

таким образом, по крайней мере, вы будете иметь журнал для исключений, если вы пропустили/забыли обработки

+0

меня попробовать/поймать блок реализован, где я называю эту службу. – Lamps

+0

Как насчет журналов, которые вы пишете в этом блоке catch try, разве это не указывает на причину молчащих сбоев? – CSharpenter

+0

Исключено исключение, мы не смогли найти никаких ошибок. :( Может быть много одновременных запросов от разных пользователей. Некоторые из них игнорируются, я думаю .. – Lamps

Смежные вопросы