Я только изучаю WCF и написал службу Windows, на которой размещается служба WCF. С тех пор, как я запустил его в service.msc на удаленном сервере (физически удаленном и очень медленном), я думаю, что уже исправил сотни ошибок здесь и там уже. Теперь я наконец застрял.
На данный момент я включил трассировку и ведение журнала сообщений. Первый и единственный вызов функции выглядит так:
[OperationContract]
public MyServiceResponse ConnectToAXDynamicsViaDotNET2BusinessConnectorWithSadFace()
{
try
{
throw new NotImplemented();
}
catch(Exception ex)
{
return new MyServiceResponse(ex, ex.Message);
}
}
[DataContract]
public class MyServiceResponse
{
// ...
}
После вызова операции клиент просто сидит и ждет до истечения времени ожидания. Проверяя трассировку, он записывает мое выброшенное исключение. Поэтому меня интересует, блокирует ли там WCF и игнорирует ли мое предложение catch.
Затем я проверил просто возвращаемое значение без броска, и оно НАКОНЕЦ работает.
У меня вопрос, как тогда я могу заставить работать вышеописанный сценарий, т.е. поймать исключение и вернуть разумный результат клиенту? Может быть, это просто трассировка, которая блокирует меня, но я хочу включить трассировку во время всего этого процесса отладки, иначе действительно сложно работать.
Спасибо за вашу драгоценную помощь!
РЕДАКТИРОВАТЬ : Извините, я нашел это сразу после того, как опубликовал этот вопрос. Бывает все время: http://msdn.microsoft.com/en-us/library/ee942778.aspx но я еще не прочитал его, так как сейчас мне нужно бежать. Не уверен, что это решит мою проблему.