2009-05-01 19 views

cevap

1

İşlemin identity numarasını değiştirmek için hangisinin ekleneceğini bilmeniz daha iyi olabilir.

2

Bu VS makrosunu, uygulama adına dayalı bir çalışan işlemine eklemek için kullanabilirsiniz. Tek hile Microsoft.Web.Administration.dll C: \ Windows \ System32 \ inetsrv% PROGRAMFILES (x86)% \ Microsoft Visual Studio 10.0 \ Common7 \ IDE \ PublicAssemblies kopyalamanız gerekir. Sonra

Private Sub AttachToWorkerProcess(ByVal appName As String) 
    Dim targetPid = FindPoolPIDByName(appName) 
    If targetPid = -1 Then 
     MessageBox.Show("Unable to find a worker process hosting " + appName) 
    End If 

    Dim processes As EnvDTE.Processes = DTE.Debugger.LocalProcesses 

    For Each proc As EnvDTE.Process In processes 
     If proc.ProcessID = targetPid Then 
      proc.Attach() 
     End If 
    Next 

End Sub 

Private Function FindPoolPIDByName(ByVal appName As String) As Integer 
    Dim sm As New Microsoft.Web.Administration.ServerManager() 

    Dim appPoolName As String = Nothing 
    For Each site In sm.Sites 
     For Each app In site.Applications 
      If String.Equals(app.Path, "/" & appName, StringComparison.OrdinalIgnoreCase) Then 
       appPoolName = app.ApplicationPoolName 
      End If 
     Next 
    Next 

    If appPoolName Is Nothing Then 
     MessageBox.Show("Unable to find application " & appName) 
    End If 

    For Each wp In sm.WorkerProcesses 
     If wp.AppPoolName = appPoolName Then 
      Return wp.ProcessId 
     End If 
    Next 
    Return -1 
End Function 

:

Sub AttachToMyApp() 
    AttachToWorkerProcess("MyApp") 
End Sub 
İlgili konular