{"id":304,"date":"2020-10-11T17:22:07","date_gmt":"2020-10-11T20:22:07","guid":{"rendered":"http:\/\/fabiobrandao.net.br\/blog\/?p=304"},"modified":"2023-03-11T23:30:42","modified_gmt":"2023-03-12T02:30:42","slug":"configurando-dependencia-servico-windows","status":"publish","type":"post","link":"https:\/\/fabiobrandao.net.br\/blog\/novidades-e-curiosidades\/configurando-dependencia-servico-windows\/","title":{"rendered":"Configurando depend\u00eancias em servi\u00e7o Windows"},"content":{"rendered":"<p>Vez em quando preciso configurar alguns servi\u00e7os criados em C# em ambiente de homologa\u00e7\u00e3o ou mesmo produ\u00e7\u00e3o e em alguns casos estes servi\u00e7os acabam possuindo depend\u00eancia de um ou mais servi\u00e7os para que possam funcionar. Se voc\u00ea chegou at\u00e9 aqui certamente esta pode ser a sua dificuldade.<\/p>\n<p>Configurar a depend\u00eancia para um servi\u00e7o \u00e9 relativamente simples e voc\u00ea precisa apenas executar algumas instru\u00e7\u00f5es de linha de comando no Windows. A dica a seguir est\u00e1 independente da linguagem de programa\u00e7\u00e3o utilizada para implementar o servi\u00e7o.<\/p>\n<p>Vou usar como exemplo um caso pr\u00e1tico que j\u00e1 tive de fazer. Tenho um servi\u00e7o que implementa um client MQTT e este depende do Broker MQTT e ambos est\u00e3o sendo executados dentro do mesmo ambiente. A t\u00edtulo de exemplo vou chamar o servi\u00e7o client de &#8220;Cliente MQTT&#8221; e o Broker de &#8220;Servidor MQTT&#8221;. Para configurar a depend\u00eancia devemos executar a seguinte instru\u00e7\u00e3o:<\/p>\n<p><em><strong>sc config &#8220;Cliente MQTT&#8221; depend= &#8220;Servidor MQTT&#8221;<\/strong><\/em><\/p>\n<p>Voc\u00ea s\u00f3 precisa usar aspas duplas nos casos em que o nome do servi\u00e7o tiver espa\u00e7os. Com esta configura\u00e7\u00e3o, o servi\u00e7o &#8220;Cliente MQTT&#8221; n\u00e3o ser\u00e1 iniciado at\u00e9 que o servi\u00e7o &#8220;Servidor MQTT&#8221; esteja iniciado. Se o servi\u00e7o &#8220;Servidor MQTT&#8221; for interrompido, o servi\u00e7o &#8220;Cliente MQTT&#8221; ser\u00e1 interrompido automaticamente.<\/p>\n<p>Para visualizar as depend\u00eancias configuradas para um servi\u00e7o podemos usar a seguinte instru\u00e7\u00e3o:<\/p>\n<p><em><strong>sc qc &#8220;Cliente MQTT&#8221;<\/strong><\/em><\/p>\n<p>Neste caso listaremos as depend\u00eancias do servi\u00e7o &#8220;Cliente MQTT&#8221;.<\/p>\n<p>\u00c9 importante saber que ao configurar uma depend\u00eancia, o servi\u00e7o perder\u00e1 qualquer configura\u00e7\u00e3o de depend\u00eancia anterior que tenha sido configurada. Para remover todas as depend\u00eancia utilize a seguinte instru\u00e7\u00e3o:<\/p>\n<p><em><strong>sc config &#8220;Cliente MQTT&#8221; depend= \/<\/strong><\/em><\/p>\n<p>Na instru\u00e7\u00e3o acima estamos removendo todas as depend\u00eancias configuradas para o servi\u00e7o &#8220;Cliente MQTT&#8221;.<\/p>\n<p>J\u00e1 ia me esquecendo, \u00e9 muito comum ocorrer mais de uma depend\u00eancia para um mesmo servi\u00e7o. Neste caso basta separar cada depend\u00eancia com uma &#8220;\/&#8221;. Por exemplo: Service1\/Service2\/&#8221;Service 3&#8243;.<\/p>\n<p>Com esta dica voc\u00ea poder\u00e1 evitar v\u00e1rios problemas e quem sabe at\u00e9 algumas linhas de c\u00f3digo.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Vez em quando preciso configurar alguns servi\u00e7os criados em C# em ambiente de homologa\u00e7\u00e3o ou mesmo produ\u00e7\u00e3o e em alguns casos estes servi\u00e7os acabam possuindo depend\u00eancia de um ou mais&#8230; <\/p>\n","protected":false},"author":1,"featured_media":376,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_exactmetrics_skip_tracking":false,"_exactmetrics_sitenote_active":false,"_exactmetrics_sitenote_note":"","_exactmetrics_sitenote_category":0,"footnotes":""},"categories":[17],"tags":[68,66,67],"class_list":["post-304","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-novidades-e-curiosidades","tag-dependencia","tag-servico","tag-windows"],"_links":{"self":[{"href":"https:\/\/fabiobrandao.net.br\/blog\/wp-json\/wp\/v2\/posts\/304","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/fabiobrandao.net.br\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/fabiobrandao.net.br\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/fabiobrandao.net.br\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/fabiobrandao.net.br\/blog\/wp-json\/wp\/v2\/comments?post=304"}],"version-history":[{"count":3,"href":"https:\/\/fabiobrandao.net.br\/blog\/wp-json\/wp\/v2\/posts\/304\/revisions"}],"predecessor-version":[{"id":307,"href":"https:\/\/fabiobrandao.net.br\/blog\/wp-json\/wp\/v2\/posts\/304\/revisions\/307"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/fabiobrandao.net.br\/blog\/wp-json\/wp\/v2\/media\/376"}],"wp:attachment":[{"href":"https:\/\/fabiobrandao.net.br\/blog\/wp-json\/wp\/v2\/media?parent=304"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/fabiobrandao.net.br\/blog\/wp-json\/wp\/v2\/categories?post=304"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/fabiobrandao.net.br\/blog\/wp-json\/wp\/v2\/tags?post=304"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}