Ошибка ChannelFactory с динамическими аргументами
Этот вопрос связан сОшибка в динамическом языке во время выполнения в сочетании с IIS 7.5
ChannelFactory
зависает, если я предоставляю ему правильно типизированный динамический объект.
dynamic src = "MSFT";
var binding = new BasicHttpBinding();
var endpoint = new EndpointAddress("http://www.restfulwebservices.net/wcf/StockQuoteService.svc");
var channel = new ChannelFactory(binding, endpoint).CreateChannel();
// this will print just fine
Console.WriteLine(channel.GetStockQuote(src as string));
// this will print just fine
Console.WriteLine(new StockQuoteServiceClient().GetStockQuote(src));
// this will never print and the application will hang with no exceptions
Console.WriteLine(channel.GetStockQuote(src));
Вышеуказанная служба является общедоступной, не моей, и вы можете проверить этот код самостоятельно, если просто добавите ссылку на службу в конечную точку, указанную в коде;StockQuoteServiceClient
был создан с помощью пункта меню Add Service Reference и прекрасно воспринимает динамические объекты;Это волшебноэто происходит, когда я запускаю приложение с F5 при отладке, все строки печатаются и программа завершается корректно;Если я запускаю его и затем присоединяю отладчик во время выполнения, я вижу, что он зависает при вызове;channel.GetStockQuote(src)
Если я оставлю это, программа пожирает всю мою память;Зависает только когда пользуюсь своимChannelFactory
с динамическими объектами, как описано в комментариях.Почему мойChannelFactory
зависает, когда он принимает динамические объекты в качестве параметров, когда созданный Add Service Reference работает нормально?