Я внедрил односторонний метод 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);
}
меня попробовать/поймать блок реализован, где я называю эту службу. – Lamps
Как насчет журналов, которые вы пишете в этом блоке catch try, разве это не указывает на причину молчащих сбоев? – CSharpenter
Исключено исключение, мы не смогли найти никаких ошибок. :( Может быть много одновременных запросов от разных пользователей. Некоторые из них игнорируются, я думаю .. – Lamps