Problemas no serviço de idiomas

Eu encontrei duas maneiras de oferecer um serviço de idiomas na internet.

A primeira maneira envolve o uso de umIOleComponentManager e registrando um cronômetro para ligar para meu serviço durante os períodos de inatividade.

O segundo caminho envolve revestir meu serviço como umIServiceContainer e adicionando umServiceCreatorCallback para "oferecer o serviço sob demanda".

Supostamente, a segunda maneira agora é a "maneira preferida" de fazer as coisas. Infelizmente, quando eu uso esse método,OnSynchronizeDropdowns nunca é chamado no meuTypeAndMembersDropdownBars implementação.

Além disso, quando meuLanguageService encontra erros no arquivo, ele usaParseRequest.Sink.AddError() para adicionar erros à lista de erros. Ao oferecer "On Demand", esses erros não aparecem na GUI, mesmo quando os vejo sendo adicionados quando depuro o código.

Sei que meu serviço de idiomas está sendo registrado, porque o realce da sintaxe "Ir para definição" e "Localizar todas as referências" ainda funcionam.

Aqui está o código que estou usando para "oferecer meu serviço sob demanda":

IServiceContainer serviceContainer = this as IServiceContainer;
ServiceCreatorCallback callback = new ServiceCreatorCallback(CreateLanguageService);
serviceContainer.AddService(typeof(MyLanguageService), callback, true);

Alguém pode me dizer por que algumas funcionalidades do meuLanguageService não funciona ao oferecê-lo sob demanda? Estou faltando alguma coisa ou não é assim que se destina a um serviço de idiomas totalmente funcional?

questionAnswers(1)

yourAnswerToTheQuestion