2011-01-22 13 views
3

私はC#を使用しています。私はWindows 7を使用してこの時点で私の質問です。私のコードを実行すると、私にエラーなどを与える 193:0xc1エラー、サービスが開始したが、停止した後、1053サービスエラー。 ここに私のコードです。C#のWindowsサービスエラー

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ファイルに構文エラーがありますか?私たちは、一度使用すると、データベースへの書き込みをしているように見えます< /設定>

  4. の終了後<エンドポイント>タグをつけた.msiインストーラに問題を抱えていました。サービスが実行されているユーザーは、そのデータベースにアクセスできますか?

  5. 起動時にVisual Studioのインスタンスに接続するようにWindowsに求めるOnStart()の先頭にDebugger.Break()を配置してください。少なくとも、障害がOnStartに到達する前に起こっているかどうかを教えてくれます。

  6. 同じコントラクトに一致する複数のエンドポイント>がapp.config/web.configファイルで指定されていますか。余計なエンドポイントに

+0

まず、お返事ありがとうございます。私はあなたの提案をすべて試しました。また、ローカルシステムでサービスを実行しました。しかし、サーバーにインストールすると、エラーになります(私の参照Webサイト:http:// www.dotnetspider.com/resources/869-How-schedule-task-using-windows-Services.aspx)これは私のエラーです。説明: Error =契約 '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

私の場合はexeファイルがCにあった:\ドキュメントANSの設定を....とC:\ Documentsという名前のファイルがありました。このファイルを削除すると助けになりましたが、私はこれをプログラム的に解決する方法を探しています。

関連する問題