Member 8920414 Ответов: 1

Эта служба на локальном компьютере запустилась, а затем остановилась. некоторые службы автоматически останавливаются, если они не используются другими серверами или программами


После сборки установки службы windows я получил первую ошибку "windows не удалось запустить службу на локальном компьютере Ошибка 5 доступ запрещен", когда я пытаюсь запустить службу windows. Я решил первую ошибку, выполнив следующие шаги решения : Не удается запустить службу Windows в учетной записи NetworkService После этого уведомление о первой ошибке исчезло, но появилось еще одно уведомление об ошибке "эта служба на локальном компьютере запустилась, а затем остановилась. некоторые службы автоматически останавливаются, если они не используются другими серверами или программами". Как я могу решить эту проблему?
Примечание :
Я посетил много опубликованных ответов, но они не решили проблему .
Службы Windows на локальный компьютер была запущена и затем остановлена ошибка
Уведомление о просмотре событий Windows :
Service cannot be started. System.InvalidOperationException: Service 'CustomerServiceLibrary.CustomersService'  has zero application (non-infrastructure) endpoints. This might be because no configuration file was found for your application, or because no service element matching the service name could be found in the configuration file, or because no endpoints were defined in the service element.
   at System.ServiceModel.Description.DispatcherBuilder.EnsureThereAreApplicationEndpoints(ServiceDescription description)
   at System.ServiceModel.Description.DispatcherBuilder.InitializeServiceHost(ServiceDescription description, ServiceHostBase serviceHost)
   at System.ServiceModel.ServiceHostBase.InitializeRuntime()
   at System.ServiceModel.ServiceHostBase.OnBeginOpen()
   at System.ServiceModel.ServiceHostBase.OnOpen(TimeSpan timeout)
   at System.ServiceModel.Channels.CommunicationObject.Open(TimeSpan timeout)
   at System.ServiceModel.Channels.CommunicationObject.Open()
   at WindowsServiceHost.WCFService.OnStart(String[] a...

Служба на локальном компьютере запускается и затем останавливается ,некоторые службы останавливаются автоматически, если они не используются другими службами или программами
Отредактировано(вот мой код):
namespace WindowsServiceHost
{
    public partial class WCFService : ServiceBase
    {
        public WCFService()
        {
            InitializeComponent();
        }

        private ServiceHost host = null;
        protected override void OnStart(string[] args)
        {
            System.Diagnostics.Debugger.Launch();
            host = new ServiceHost(typeof(CustomersService));
            host.Open();
        }

        protected override void OnStop()
        {
            if (host != null)
            {
                host.Close();
            }
            host = null;
        }
    }
}

файл app .config :
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
    <startup>
        <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5" />
    </startup>
</configuration>

member 8888995

пожалуйста, проверьте свой метод запуска вне приложения службы windows с точкой останова.

TryAndSucceed

Как упоминает сама ошибка, у вас нет конечных точек в вашем конфигурационном файле. Вам нужно определить конечные точки, указывающие на эту службу, которая может быть установлена локально или где угодно.

1 Ответов

Рейтинг:
2

Prem Kumar Rathrolla

Пожалуйста, проверьте ваш конфигурационный файл приложения, он должен быть таким, как показано ниже


<?xml version="1.0" encoding="utf-8" ?>
<configuration>

  <appSettings>
    <add key="aspnet:UseTaskFriendlySynchronizationContext" value="true" />
  </appSettings>
  <system.web>
    <compilation debug="true" />
  </system.web>
  <!-- When deploying the service library project, the content of the config file must be added to the host's 
  app.config file. System.Configuration does not support config files for libraries. -->
  <system.serviceModel>
    <services>
      <service behaviorConfiguration="WcfServiceLibrary1.Service1Behavior"
 name="WcfServiceLibrary1.Service1">
        <endpoint address="" binding="netTcpBinding" bindingConfiguration=""
          contract="WcfServiceLibrary1.IService1">
          <identity>
            <dns value="localhost" />
          </identity>
        </endpoint>
        <endpoint address="mex" binding="mexTcpBinding" bindingConfiguration=""
          contract="IMetadataExchange" />
        <host>
          <baseAddresses>
            <add baseAddress="net.tcp://localhost:8733/Service1" />
          </baseAddresses>
        </host>
      </service>
    </services>
    <behaviors>
      <serviceBehaviors>
        <behavior name="WcfServiceLibrary1.Service1Behavior">
          <serviceMetadata httpGetEnabled="false" httpsGetEnabled="false" />
          <serviceDebug includeExceptionDetailInFaults="false" />
        </behavior>
      </serviceBehaviors>
    </behaviors>
  </system.serviceModel>

</configuration>