Я подготовил приложение с библиотекой сервиса WCF и службой Windows. Я выполнил весь процесс с помощью this link из проекта Code.Служба Windows не работает
После создания всех функциональных возможностей WCF он успешно сгенерирован и также создал файл DLL WCF. Теперь я создал проект Windows Service внутри одного и того же решения Explorer для размещения DLL службы. Внутри метода OnStart
я написал следующий код:
namespace WindowsService1
{
public partial class Service1 : ServiceBase
{
ServiceHost sHost;
public Service1()
{
InitializeComponent();
}
protected override void OnStart(string[] args)
{
sHost = new ServiceHost(typeof(WcfServiceLibrary1.Service1));
sHost.Open();
}
protected override void OnStop()
{
sHost.Close();
}
}
}
Для добавления WcfServiceLibrary1
я добавил ссылку в WCF DLL в этой службе. Для этого щелкните правой кнопкой мыши по проекту в Solution Solution и выберите . Добавить ссылку. Чтобы добавить DLL в ссылку, выберите вкладку обзора в появившемся окне и перейдите к папке, в которой находится наша библиотека услуг WCF. В этом месте DLL можно найти внутри папки «bin \ Release».
После добавления ссылки он не дает никакой ошибки, но когда я иду в строй решение дает следующее сообщение об ошибке:
The type or namespace name 'WcfServiceLibrary1' could not be found (are you missing a using directive or an assembly reference?)
я добавил ссылку еще раз, ошибка исчезла, а затем я снова построили решение. Появилось одно и то же сообщение об ошибке.
Я не мог понять, почему это происходит. Даже я внимательно следил за ссылкой и готовил решения с самого начала, но одно и то же сообщение об ошибке приходит каждый раз.
Вышеупомянутая проблема разрешена теперь, следуя ответу toadflakz. Теперь моя служба установлена правильно, но получает следующее исключение: OnStart.
Service cannot be started. System.InvalidOperationException: Service 'WcfServiceLibrary1.WCFService' 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.OnOpen(TimeSpan timeout)
at System.ServiceModel.Channels.CommunicationObject.Open(TimeSpan timeout)
at System.ServiceProcess.ServiceBase.ServiceQueuedMainCallback(Object state)
Я пробовал много вариантов, и я действительно изо всех сил на это. Пожалуйста, помогите мне избавиться от этого, чтобы я мог успешно начать службу.
После того, как вы построили это dc wcf в каталоге bin вашего исполняемого файла? – Zeus82
Попробуйте добавить ссылку на проект вашей библиотеки. – Reniuz