2011-01-22 2 views
3

Я использую C#. В это время я использую Windows 7. Мой вопрос: Когда я запускаю свой код, , это дает мне ошибки и т. Д. Ошибка 193: 0xc1. Службы запущены, но после остановки 1053 ошибки служб. Вот мой код.Ошибка служб Windows в C#

public RupdaterService() 
    { 
     InitializeComponent(); 
     this.timer1.Elapsed += new System.Timers.ElapsedEventHandler(this.timer1_Elapsed); 
    } 
     protected override void OnStart (string[] args) 
    { 
     timer1.Enabled=true; 
     this.DBEntry("Service Started"); 
    } 
     protected override void OnStop() 
    {    
     this.timer1.Enabled = false; 
     this.DBEntry("Service Stopped"); 
    } 

    private void timer1_Elapsed(object sender,System.Timers.ElapsedEventArgs e) 
    { 

     this.DBEntry("Service Running"); 
     } 


Here is my App.Config. 

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

<configuration> 

<configSections> 

    <sectionGroup name="applicationSettings" type="System.Configuration.ApplicationSettingsGroup, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c5***9" > 
     <section name="HedefliRUpdater.Properties.Settings" type="System.Configuration.ClientSettingsSection, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5***9" requirePermission="false" /> 
    </sectionGroup> 
</configSections> 

<system.serviceModel> 

</system.serviceModel> 

<applicationSettings> 
    <HedefliRUpdater.Properties.Settings> 
     <setting name="HedefliRUpdater_srvHedefli_wsrvHermesHedefliMesaj" 
      serializeAs="String"> 
      <value>http://***.com/hedefli/srvHedefli.asmx</value> 
     </setting> 
    </HedefliRUpdater.Properties.Settings> 
</applicationSettings> 

Спасибо заранее,

+1

Проверьте журналы событий приложений в EventViewer. Скорее всего, некоторые исключения в вызове метода DBEntry. –

+0

Так что я должен делать точно, кроме отладки? – Arbelac

ответ

1

Я не знаю, что ваша проблема, но этот вопрос Easier way to debug a Windows service обеспечивает отличные советы, чтобы позволить вам отладить запуск вашей службы.

2

Некоторые вещи для проверки. Это произошло со мной, с моей головы:

  1. Есть ли что-нибудь в журналах событий? Иногда они могут дать вам ключ.

  2. Действительно ли журнал событий заполнен? Если Windows не сможет его записать, он не запустит службу. Попробуйте очистить журнал событий приложений и посмотреть, начинается ли он.

  3. Есть ли ошибки синтаксиса в файле .config? Мы когда-то были проблемы с .msi инсталлятором, положившего < конечной > тега после окончания </конфигураций >

  4. Похоже, что вы пишете в базу данных. Доступен ли пользователь, работающий в этой службе, к этой базе данных?

  5. Попробуйте положить Debugger.Break() в начало вашего OnStart(), чтобы пригласить Windows подключить экземпляр Visual Studio при запуске. По крайней мере, он скажет вам, произошла ли ошибка, прежде чем она попадет на ваш OnStart или после.

  6. У вас есть более одного < конечная точка >, указанная в файле app.config/web.config, который соответствует одному и тому же контракту? Попробуйте удалить лишние ENDPOINT

+0

Прежде всего, спасибо за ваш ответ. Я пробовал все ваши предложения. Кроме того, я запускал в локальной системе свой сервис. Но если я устанавливаю сервер, это дает мне ошибку. (Мой справочный веб-сайт: http: // www.dotnetspider.com/resources/869-How-schedule-task-using-windows-Services.aspx) Вот моя ошибка. Описание: Ошибка = Конфигурация конечной точки для контракта «SrvhedefliServRef.wsrvHermSoap» не может быть загружена, потому что было найдено более одной конфигурации конечной точки для этого контракта. Пожалуйста, укажите предпочтительный раздел конфигурации конечной точки по имени. 24.01.2011 15:08:33 – Arbelac

+0

Похоже, что у вас может быть более одного в вашем app.config, который соответствует той же привязке и/или интерфейсу. Попробуйте удалить дополнительную конечную точку и посмотреть, запускается ли ваша служба. –

+0

Но нет конечной точки.Начало службы, но, как я уже упоминал, дает такую ​​же ошибку. Мой App.Config находится в моем посте. Спасибо снова. – Arbelac

0

У меня был подобный вопрос и нашел следующую ссылку, чтобы быть полезным: http://support.microsoft.com/default.aspx?scid=kb;en-us;Q325680

В моем случае ехе был в C: \ Documents анс Settings .... и был файл с именем C: \ Documents. Удаление этого файла помогло, но я все еще ищу способ решить эту задачу программно.

Смежные вопросы