Usuário com melhor resposta
comunicação entre windows service e windows form

Pergunta
-
Respostas
-
Você vai dar uma volta maior sem razão (entendo que foi seu superior, mas realmente não faz sentido, a decisão dele é que está indo contra as boas práticas).
Você pode implementar no Windows Service a comunicação usando named pipes, criar uma class library que comunique com este Windows Service e exponha os métodos para interop, daí a aplicação VB6 utiliza esta class library.
Novamente, é uma volta desnecessária, mas fica aí a dica.
If you found this post helpful, please "Vote as Helpful". If it actually answered your question, remember to "Mark as Answer".
Se achou este post útil, por favor clique em "Votar como útil". Se por acaso respondeu sua dúvida, lembre de "Marcar como Resposta".
- Marcado como Resposta Robson William SilvaModerator quinta-feira, 15 de dezembro de 2016 15:35
Todas as Respostas
-
Você precisa que elas se comuniquem (troquem informações efetivamente) ou só precisa que a aplicação Windows Forms possa utilizar métodos implementados no Windows Service?
Caso seja a troca de mensagens, você pode utilizar named/anonymous pipes, por exemplo.
How to: Use Named Pipes for Network Interprocess Communication
How to: Use Anonymous Pipes for Local Interprocess Communication
If you found this post helpful, please "Vote as Helpful". If it actually answered your question, remember to "Mark as Answer".
Se achou este post útil, por favor clique em "Votar como útil". Se por acaso respondeu sua dúvida, lembre de "Marcar como Resposta".
-
-
vi em um outra aplicação, que eu tem uma interface mais ou menos dessa forma..
public interface IGedService { [OperationContract] [WebInvoke(Method = "POST", BodyStyle = WebMessageBodyStyle.Wrapped, ResponseFormat = WebMessageFormat.Xml, UriTemplate = "File")] ServiceResult AddFile(mFileDocument oFileDocument); [OperationContract] [WebInvoke(Method = "DELETE", BodyStyle = WebMessageBodyStyle.Wrapped, ResponseFormat = WebMessageFormat.Xml, UriTemplate = "File/oFileDocument/{oFileDocument}")] ServiceResult RemoveFile(mFileDocument oFileDocument); [OperationContract] [WebInvoke(Method = "POST", BodyStyle = WebMessageBodyStyle.Wrapped, ResponseFormat = WebMessageFormat.Xml, UriTemplate = "File/search")] ServiceResult SearchFile(mFileDocument oFileDocument); }
isso estaria no meu serviço com os meus métodos implementados.. agora precisava conseguir chegar nesses métodos..
-
Eu sugiro você criar um projeto do tipo Class Library e mover o código que deve ser compartilhado para lá. Assim você adiciona uma referência para este novo projeto no seu Windows Service e no Windows Form.
If you found this post helpful, please "Vote as Helpful". If it actually answered your question, remember to "Mark as Answer".
Se achou este post útil, por favor clique em "Votar como útil". Se por acaso respondeu sua dúvida, lembre de "Marcar como Resposta".
-
-
Faltou essa informação na sua pergunta, na verdade você disse que quem consumiria é um Windows Form, mas de qualquer modo, separando essa implementação numa DLL a parte, você pode marcar os métodos para interop.
Veja um passo a passo: https://support.microsoft.com/pt-br/kb/817248
If you found this post helpful, please "Vote as Helpful". If it actually answered your question, remember to "Mark as Answer".
Se achou este post útil, por favor clique em "Votar como útil". Se por acaso respondeu sua dúvida, lembre de "Marcar como Resposta".
-
-
Você vai dar uma volta maior sem razão (entendo que foi seu superior, mas realmente não faz sentido, a decisão dele é que está indo contra as boas práticas).
Você pode implementar no Windows Service a comunicação usando named pipes, criar uma class library que comunique com este Windows Service e exponha os métodos para interop, daí a aplicação VB6 utiliza esta class library.
Novamente, é uma volta desnecessária, mas fica aí a dica.
If you found this post helpful, please "Vote as Helpful". If it actually answered your question, remember to "Mark as Answer".
Se achou este post útil, por favor clique em "Votar como útil". Se por acaso respondeu sua dúvida, lembre de "Marcar como Resposta".
- Marcado como Resposta Robson William SilvaModerator quinta-feira, 15 de dezembro de 2016 15:35
-