1

Web サービス (Windows XP SP3、VS 2008、ASP.NET 2、VB.NET) をデバッグしようとしています。

ほとんどの場合、asp.net ワーカー プロセスが既に読み込まれている場合は、Web サービスを呼び出す Windows フォームを開始し、Visual Studio で aspnet_wp.exe にアタッチして、心ゆくまでデバッグできますが、Application Start をキャッチできません。 global.asax のイベントは面倒です。

IIS をリセットすると、もちろん、アプリケーションの開始イベントがすべて終了するまで、アタッチするプロセスはありません。

これを行うために私が見つけた唯一の方法は、別のaspxページを作成し、それを開始ページとして設定して実行することです-その後、アプリ開始イベントの休憩で停止できますが、ページを維持するのは面倒ですこれは本質的に単なるテスト スタブです。

少しすっきりしたアイデアはありますか?「プロセスが開始したらすぐにプロセスにアタッチする」のようなものです。

もちろん、 Web サービスをデバッグできるようにするために aspnet_wp.exe に明示的にアタッチする必要はありませんが、それを行う方法も見つかりませんでした。

提案をありがとう。

4

1 に答える 1

3

Try sticking this in your Application Start event, it should kick your debugger everytime. Just make sure you take it out when you're done :-).

System.Diagnostics.Debugger.Launch()

Or better yet, in the OnStart of your WebService:

Protected Overrides Sub OnStart(ByVal args() As String)
    ' Add code here to start your service. This method should set things
    ' in motion so your service can do its work.
    System.Diagnostics.Debugger.Launch()
End Sub

Update: Adding this comment to the answer since it's a good idea:

Wrap this in #if DEBUG and it's a bit safer (won't end up slipping something so catastrophic into test/production environments). – sliderhouserules

于 2009-01-12T20:50:13.807 に答える