Este artigo descreve como habilitar rastreamento System.NET para fornecer informações adicionais log de conexão-relacionado problemas que podem ocorrer em ambientes Microsoft Windows SharePoint Services 3.0 e Microsoft Office SharePoint Server 2007 ambientes.
Quando você de conteúdo solucionar problemas implantação problemas pesquisa em uma única e -instalação servidor ou em múltiplo-instalações servidor para o qual SSL é exigido, rastreamento rede utilitários such as Network Monitor, WireShark e do sniffer não podem ser usado para exibir HTTP e SOAP dados. HTTP e SOAP dados ajuda a isolar a causar dos problemas que são associado com os serviços SharePoint. No entanto, rastreamento System.NET foi introduzido na Microsoft .NET Framework 2.0 para fornecer log Text-Based de HTTP e SOAP dados de carga, informações Soquete e informações conexão.
Use possíveis cenários
Cenário 1: solução de problemas de conteúdo problemas implantação
Quando você de conteúdo solucionar problemas problemas implantação, você pode receber a seguinte mensagem de erro no log de rastreamento:
Falha ao se comunicar com servidor de destino para Content Deployment trabalho 'PublishJobName'. Exceção foi: ' System.Net.WebException: Não é possível conectar para o servidor remoto.
Infelizmente, os logs ULS (unificado de registro do serviço) não indicam por que as conexões para a falha servidor remoto. Se System.NET rastrear logs são criados, é provável que eles forneceria obter mais informações sobre o motivo de falha.
Cenário 2: solução de problemas pesquisa e rastrear problemas
Quando você pesquisa solucionar problemas e rastrear problemas, você pode receber uma ou ambas as seguinte mensagens de erro no log de rastreamento:
Rastrear este documento não pôde ser concluída porque o servidor remoto não respondeu dentro de tempo limite especificado. Tente rastrear o servidor mais tarde ou aumente a valor de tempo limite. Você também pode tentar agendamento rastreamentos durante períodos de uso de menor movimento.
Status HTTP não reconhecido recebido. Verifique se o endereço pode ser acessado usando o Internet Explorer.
Novamente, os logs ULS não indicam por que as conexões para o tempo limite servidor remoto. No entanto, logs rastrear System.NET podem fornecer mais informações sobre o motivo de falha.
Embora este artigo descreve solução de problemas problemas que são relacionado para SharePoint produtos e tecnologias, rastreamento System.NET é um recurso a .NET Framework 2.0 e versões posteriores a .NET Framework. Além disso, este artigo pode ser usado para solucionar problemas os aplicativos .NET Framework não relacionado a SharePoint Products e tecnologias.
Plano de fundo
Aplicativos que chamar métodos no espaço para nome System.NET do .NET Framework 2.0 irão verificar a presença de uma arquivo de configuração ao iniciar processo (tempo carregar). Esta arquivo de configuração deve ter o mesmo nome como arquivo executável do aplicativo. Além disso, o arquivo de configuração devem estar localizados na mesma pasta como a arquivo executável. Isso significa que quando o serviço Windows SharePoint Services Timer (SPTimerV3) inicia, ele verifica a presença de um arquivo que está nomeado Owstimer.exe.config na pasta que contém o arquivo Owstimer.exe.
Como habilitar System.NET rastreamento para o serviço Windows SharePoint Services Timer
Para habilitar rastreamento System.NET para o serviço Windows SharePoint Services Timer, execute estas etapas:
- Criar um arquivo de texto que está nomeado Owstimer.exe.config na seguinte pasta:
%CommonProgramFiles%\Microsoft Shared\web extensions\12\BIN servidor
- Em arquivo de texto o Owstimer.exe.config, colar o seguinte dados XML.
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<system.diagnostics>
<trace autoflush="true" />
<sources>
<source name="System.Net">
<listeners>
<add name="System.Net"/>
</listeners>
</source>
<source name="System.Net.HttpListener">
<listeners>
<add name="System.Net"/>
</listeners>
</source>
<source name="System.Net.Sockets">
<listeners>
<add name="System.Net"/>
</listeners>
</source>
<source name="System.Net.Cache">
<listeners>
<add name="System.Net"/>
</listeners>
</source>
</sources>
<sharedListeners>
<add
name="System.Net"
type="System.Diagnostics.TextWriterTraceListener"
initializeData="C:\\Tracing\\OWSTimer_SNtrace.log" traceOutputOptions = "DateTime" />
</sharedListeners>
<switches>
<add name="System.Net" value="Verbose" />
<add name="System.Net.Sockets" value="Verbose" />
<add name="System.Net.Cache" value="Verbose" />
<add name="System.Net.HttpListener" value="Verbose" />
</switches>
</system.diagnostics>
</configuration>
- Salve o arquivo Owstimer.exe.config.
- Reinicie o serviço Windows SharePoint Services Timer. Para fazer isso, um use o snap-in Services MMC ou tipo o seguinte comando em uma janela Command Prompt:
rede parar sptimerv3 & rede sptimerv3 iniciar
Este procedimento força o arquivo de configuração ser ler. Além disso, esse procedimento permite que log. No entanto, a pasta que está listada no atributo
initializeData precisa existir. Além disso, a pasta deve ter permissões suficientes para permitir para arquivo criar e as operações de gravação ocorrer. Para o arquivo Owstimer.exe.config, a conta é a conta do server farm. Para o arquivo Mssdmn.exe.config, as contas são a conta do serviço de pesquisa e a conta de acesso a conteúdo de pesquisa. Essas contas são descritas na guia de
Planejamento para administrativo e serviço contas (Windows SharePoint Services) . Para obter este guia, visite o seguinte site da Microsoft:
Para rastreamento System.NET geral, use a identidade do processo para o rastreamento está habilitado. Para problemas permissões solucionar problemas que são relacionado para criar os logs rastrear saída, use o monitor de processo. Para obter o monitor de processo, visite o seguinte site da Microsoft:
Como habilitar System.NET rastreamento para o serviço Office SharePoint Server Search
Para habilitar rastreamento System.NET para o serviço Office SharePoint Server Search (OSearch), execute estas etapas:
- Criar um arquivo de texto que está nomeado Mssdmn.exe.config na seguinte pasta:
%ProgramFiles%\Microsoft Servers\12.0\Bin Office
O conteúdo do arquivo de Mssdmn.exe.config é o mesmo que o exemplo do Owstimer.exe.config, Except for o atributo initializeData . Renomear este atributo para criar um nome arquivo log específico para o processo Mssdmn.exe, as in o seguinte exemplo. initializeData="C:\\Tracing\\MSSDMN_SNtrace.log"
- Reinicie o serviço Office SharePoint Server Search. Para fazer isso, um use o snap-in Services MMC ou tipo o seguinte comando em uma janela Command Prompt:
rede parar osearch & rede osearch iniciar
Este procedimento força o arquivo de configuração ser ler. Além disso, esse procedimento permite que log. No entanto, a pasta que está listada no atributo
initializeData precisa existir. Além disso, a pasta deve ter permissões suficientes para permitir para arquivo criar e as operações de gravação ocorrer.
Observação: Por padrão, as instalações do SharePoint Server 2007 tem a seguinte pesquisar serviços instalados:
- Pesquisa Server SharePoint Office (OSearch)
%programfiles%\microsoft Servers\12.0\Bin Office - Pesquisa de Serviços SharePoint Windows (SPSearch)
%CommonProgramFiles%\Microsoft Shared\web extensions\12\BIN servidor
Instalações 3.0 serviços SharePoint Windows contêm somente um instâncias do serviço de SPSearch. Quando você cria o arquivo Mssdmn.exe.config, certifique-se de que você pôr o arquivo na pasta correta para solução de problemas o serviço de pesquisa que está com problemas. Além disso, se você estiver solução de problemas o serviço SPSearch Windows SharePoint Services 3.0 em vez disso, do serviço de SharePoint Server 2007 OSearch, certifique-se que de usar
rede parar SPSearch e
rede iniciar SPSearch em vez de
OSearch .
Como desativar rastreamento System.NET
Para desativar rastreamento System.NET, execute estas etapas:
- Remover ou renomear o arquivo .config que você criou para habilitar o rastreamento System.NET. Para fazer isso, o seguinte comando em uma janela Command Prompt, tipo e, em seguida, pressionar ENTER:
ren "%CommonProgramFiles%\Microsoft Shared\web servidor extensions\12\BIN\owstimer.exe.config" owstimer.exe.config.disabled
- Reiniciar o serviço. Para fazer isso, um use o snap-in Services MMC ou tipo o seguinte comando em uma janela Command Prompt:
rede parar osearch & rede osearch iniciar
Permissões que são exigido para criar e gravar logs rastrear System.NET
A permissão somente Windows que é exigido para criar e gravar logs rastrear System.NET é a permissão de gravação que é configurado na guia
Security da caixa diálogo Propriedades de log pasta. Os logs rastrear serão criados e gravados na contexto de segurança de conta de serviço para o componente que está sendo monitorado:
- OWSTimer
Conta serviço farm. - MSSDmn
Conta serviço de Pesquisa
Exemplo saída log de rastreamento System.NET
O seguinte exemplo contém saída exemplo gerada pelo System.NET rastreamento do processo de Owstimer.exe (o serviço SPTimerV3).
System.Net Verbose: 0 : [2332] WebRequest::Create(http://sharepoint:56737/SearchAdmin.asmx)
DateTime=2007-10-21T19:06:36.3058633Z
System.Net Verbose: 0 : [2332] HttpWebRequest#65198764::HttpWebRequest(http://sharepoint:56737/SearchAdmin.asmx#-2024304231)
DateTime=2007-10-21T19:06:36.3058633Z
System.Net Verbose: 0 : [2332] Exiting HttpWebRequest#65198764::HttpWebRequest()
DateTime=2007-10-21T19:06:36.3214882Z
System.Net Verbose: 0 : [2332] Exiting WebRequest::Create() -> HttpWebRequest#65198764
DateTime=2007-10-21T19:06:36.3214882Z
System.Net Verbose: 0 : [2332] HttpWebRequest#65198764::GetRequestStream()
DateTime=2007-10-21T19:06:36.3214882Z
System.Net Warning: 0 : [2332] WebProxy failed to autodetect a Uri for a proxy script.
DateTime=2007-10-21T19:06:36.3371131Z
System.Net Warning: 0 : [2332] WebProxy failed to autodetect a Uri for a proxy script.
DateTime=2007-10-21T19:06:38.8058473Z
System.Net Information: 0 : [2332] Associating HttpWebRequest#65198764 with ServicePoint#4075575
DateTime=2007-10-21T19:06:38.8058473Z
System.Net Information: 0 : [2332] Associating Connection#276258 with HttpWebRequest#65198764
DateTime=2007-10-21T19:06:38.8058473Z
System.Net.Sockets Verbose: 0 : [2332] Socket#9116542::Socket(InterNetwork#2)
DateTime=2007-10-21T19:06:38.8058473Z
System.Net.Sockets Verbose: 0 : [2332] Exiting Socket#9116542::Socket()
DateTime=2007-10-21T19:06:38.8058473Z
System.Net.Sockets Verbose: 0 : [2332] Socket#9116542::Connect(155:56737#-1694308128)
DateTime=2007-10-21T19:06:38.8214722Z
System.Net.Sockets Verbose: 0 : [2332] Exiting Socket#9116542::Connect()
DateTime=2007-10-21T19:06:38.8214722Z
System.Net Information: 0 : [2332] Associating HttpWebRequest#65198764 with ConnectStream#32410459
DateTime=2007-10-21T19:06:38.8214722Z
System.Net Verbose: 0 : [2332] Exiting HttpWebRequest#65198764::GetRequestStream() -> ConnectStream#32410459
DateTime=2007-10-21T19:06:38.8214722Z
System.Net Verbose: 0 : [2332] ConnectStream#32410459::Write()
DateTime=2007-10-21T19:06:38.8214722Z
System.Net Verbose: 0 : [2332] Data from ConnectStream#32410459::Write
DateTime=2007-10-21T19:06:38.8214722Z
System.Net Verbose: 0 : [2332] 00000000 : 3C 3F 78 6D 6C 20 76 65-72 73 69 6F 6E 3D 22 31 : <?xml version="1
DateTime=2007-10-21T19:06:38.8214722Z
System.Net Verbose: 0 : [2332] 00000010 : 2E 30 22 20 65 6E 63 6F-64 69 6E 67 3D 22 75 74 : .0" encoding="ut
DateTime=2007-10-21T19:06:38.8214722Z
System.Net Verbose: 0 : [2332] 00000020 : 66 2D 38 22 3F 3E 3C 73-6F 61 70 3A 45 6E 76 65 : f-8"?><soap:Enve
DateTime=2007-10-21T19:06:38.8214722Z
System.Net Verbose: 0 : [2332] 00000030 : 6C 6F 70 65 20 78 6D 6C-6E 73 3A 73 6F 61 70 3D : lope xmlns:soap=
DateTime=2007-10-21T19:06:38.8214722Z
System.Net Verbose: 0 : [2332] 00000040 : 22 68 74 74 70 3A 2F 2F-73 63 68 65 6D 61 73 2E : "http://schemas.
DateTime=2007-10-21T19:06:38.8214722Z
System.Net Verbose: 0 : [2332] 00000050 : 78 6D 6C 73 6F 61 70 2E-6F 72 67 2F 73 6F 61 70 : xmlsoap.org/soap
DateTime=2007-10-21T19:06:38.8214722Z
System.Net Verbose: 0 : [2332] 00000060 : 2F 65 6E 76 65 6C 6F 70-65 2F 22 20 78 6D 6C 6E : /envelope/" xmln
DateTime=2007-10-21T19:06:38.8214722Z
System.Net Verbose: 0 : [2332] 00000070 : 73 3A 78 73 69 3D 22 68-74 74 70 3A 2F 2F 77 77 : s:xsi="http://ww
DateTime=2007-10-21T19:06:38.8214722Z
System.Net Verbose: 0 : [2332] 00000080 : 77 2E 77 33 2E 6F 72 67-2F 32 30 30 31 2F 58 4D : w.w3.org/2001/XM
DateTime=2007-10-21T19:06:38.8214722Z
System.Net Verbose: 0 : [2332] 00000090 : 4C 53 63 68 65 6D 61 2D-69 6E 73 74 61 6E 63 65 : LSchema-instance
DateTime=2007-10-21T19:06:38.8214722Z
System.Net Verbose: 0 : [2332] 000000A0 : 22 20 78 6D 6C 6E 73 3A-78 73 64 3D 22 68 74 74 : " xmlns:xsd="htt
DateTime=2007-10-21T19:06:38.8214722Z
System.Net Verbose: 0 : [2332] 000000B0 : 70 3A 2F 2F 77 77 77 2E-77 33 2E 6F 72 67 2F 32 : p://www.w3.org/2
DateTime=2007-10-21T19:06:38.8214722Z
System.Net Verbose: 0 : [2332] 000000C0 : 30 30 31 2F 58 4D 4C 53-63 68 65 6D 61 22 3E 3C : 001/XMLSchema"><
DateTime=2007-10-21T19:06:38.8214722Z
System.Net Verbose: 0 : [2332] 000000D0 : 73 6F 61 70 3A 42 6F 64-79 3E 3C 49 50 41 64 64 : soap:Body><IPAdd
DateTime=2007-10-21T19:06:38.8214722Z
System.Net Verbose: 0 : [2332] 000000E0 : 72 65 73 73 20 78 6D 6C-6E 73 3D 22 68 74 74 70 : ress xmlns="http
DateTime=2007-10-21T19:06:38.8214722Z
System.Net Verbose: 0 : [2332] 000000F0 : 3A 2F 2F 6D 69 63 72 6F-73 6F 66 74 2E 63 6F 6D : ://microsoft.com
DateTime=2007-10-21T19:06:38.8214722Z
System.Net Verbose: 0 : [2332] 00000100 : 2F 77 65 62 73 65 72 76-69 63 65 73 2F 4F 66 66 : /webservices/Off
DateTime=2007-10-21T19:06:38.8214722Z
System.Net Verbose: 0 : [2332] 00000110 : 69 63 65 53 65 72 76 65-72 2F 53 65 61 72 63 68 : iceServer/Search
DateTime=2007-10-21T19:06:38.8214722Z
System.Net Verbose: 0 : [2332] 00000120 : 2F 53 65 61 72 63 68 57-65 62 53 65 72 76 69 63 : /SearchWebServic
DateTime=2007-10-21T19:06:38.8214722Z
System.Net Verbose: 0 : [2332] 00000130 : 65 22 20 2F 3E : e" />
DateTime=2007-10-21T19:06:38.8214722Z
System.Net Verbose: 0 : [2332] Exiting ConnectStream#32410459::Write()
DateTime=2007-10-21T19:06:38.8214722Z
System.Net Verbose: 0 : [2332] ConnectStream#32410459::Write()
DateTime=2007-10-21T19:06:38.8214722Z
System.Net Verbose: 0 : [2332] Data from ConnectStream#32410459::Write
DateTime=2007-10-21T19:06:38.8214722Z
System.Net Verbose: 0 : [2332] 00000000 : 3C 2F 73 6F 61 70 3A 42-6F 64 79 3E 3C 2F 73 6F : </soap:Body></so
DateTime=2007-10-21T19:06:38.8214722Z
System.Net Verbose: 0 : [2332] 00000010 : 61 70 3A 45 6E 76 65 6C-6F 70 65 3E : ap:Envelope>
DateTime=2007-10-21T19:06:38.8214722Z
System.Net Verbose: 0 : [2332] Exiting ConnectStream#32410459::Write()
DateTime=2007-10-21T19:06:38.8214722Z
System.Net Verbose: 0 : [2332] ConnectStream#32410459::Close()
DateTime=2007-10-21T19:06:38.8214722Z
System.Net Verbose: 0 : [2332] Exiting ConnectStream#32410459::Close()
DateTime=2007-10-21T19:06:38.8214722Z
A filtragem logs rastrear System.NET
Quando detalhado opções log são habilitado no arquivo Apl.exe.config como descrito neste artigo, uma revisão dos logs de rastrear pode ser demorado. Usando os comandos
type e
PROCURAR , você pode filtro o detalhado log rastrear fazer a saída mais gerenciáveis. O seguinte exemplo mostra qualquer linha que contém 0000 após todas as entradas de DateTime tem sido removidas. A saída é gravada em um arquivo que está nomeado Data.txt.
Digite o seguinte comando em uma janela Command Prompt e em seguida, pressionar ENTER:
OWSTimer_SNtrace.log | localizar /V " DATETIME = " | "0000" localizar > Data.txt
Se você usar o log rastrear exemplo anterior como entrada, a seguinte dados consta o arquivo Data.txt.
System.Net Verbose: 0 : [2332] 00000000 : 3C 3F 78 6D 6C 20 76 65-72 73 69 6F 6E 3D 22 31 : <?xml version="1
System.Net Verbose: 0 : [2332] 00000010 : 2E 30 22 20 65 6E 63 6F-64 69 6E 67 3D 22 75 74 : .0" encoding="ut
System.Net Verbose: 0 : [2332] 00000020 : 66 2D 38 22 3F 3E 3C 73-6F 61 70 3A 45 6E 76 65 : f-8"?><soap:Enve
System.Net Verbose: 0 : [2332] 00000030 : 6C 6F 70 65 20 78 6D 6C-6E 73 3A 73 6F 61 70 3D : lope xmlns:soap=
System.Net Verbose: 0 : [2332] 00000040 : 22 68 74 74 70 3A 2F 2F-73 63 68 65 6D 61 73 2E : "http://schemas.
System.Net Verbose: 0 : [2332] 00000050 : 78 6D 6C 73 6F 61 70 2E-6F 72 67 2F 73 6F 61 70 : xmlsoap.org/soap
System.Net Verbose: 0 : [2332] 00000060 : 2F 65 6E 76 65 6C 6F 70-65 2F 22 20 78 6D 6C 6E : /envelope/" xmln
System.Net Verbose: 0 : [2332] 00000070 : 73 3A 78 73 69 3D 22 68-74 74 70 3A 2F 2F 77 77 : s:xsi="http://ww
System.Net Verbose: 0 : [2332] 00000080 : 77 2E 77 33 2E 6F 72 67-2F 32 30 30 31 2F 58 4D : w.w3.org/2001/XM
System.Net Verbose: 0 : [2332] 00000090 : 4C 53 63 68 65 6D 61 2D-69 6E 73 74 61 6E 63 65 : LSchema-instance
System.Net Verbose: 0 : [2332] 000000A0 : 22 20 78 6D 6C 6E 73 3A-78 73 64 3D 22 68 74 74 : " xmlns:xsd="htt
System.Net Verbose: 0 : [2332] 000000B0 : 70 3A 2F 2F 77 77 77 2E-77 33 2E 6F 72 67 2F 32 : p://www.w3.org/2
System.Net Verbose: 0 : [2332] 000000C0 : 30 30 31 2F 58 4D 4C 53-63 68 65 6D 61 22 3E 3C : 001/XMLSchema"><
System.Net Verbose: 0 : [2332] 000000D0 : 73 6F 61 70 3A 42 6F 64-79 3E 3C 49 50 41 64 64 : soap:Body><IPAdd
System.Net Verbose: 0 : [2332] 000000E0 : 72 65 73 73 20 78 6D 6C-6E 73 3D 22 68 74 74 70 : ress xmlns="http
System.Net Verbose: 0 : [2332] 000000F0 : 3A 2F 2F 6D 69 63 72 6F-73 6F 66 74 2E 63 6F 6D : ://microsoft.com
System.Net Verbose: 0 : [2332] 00000100 : 2F 77 65 62 73 65 72 76-69 63 65 73 2F 4F 66 66 : /webservices/Off
System.Net Verbose: 0 : [2332] 00000110 : 69 63 65 53 65 72 76 65-72 2F 53 65 61 72 63 68 : iceServer/Search
System.Net Verbose: 0 : [2332] 00000120 : 2F 53 65 61 72 63 68 57-65 62 53 65 72 76 69 63 : /SearchWebServic
System.Net Verbose: 0 : [2332] 00000130 : 65 22 20 2F 3E : e" />
System.Net Verbose: 0 : [2332] 00000000 : 3C 2F 73 6F 61 70 3A 42-6F 64 79 3E 3C 2F 73 6F : </soap:Body></so
System.Net Verbose: 0 : [2332] 00000010 : 61 70 3A 45 6E 76 65 6C-6F 70 65 3E : ap:Envelope>
Problemas conhecidos
O seguinte problemas sabe para evitar rastreamento System.NET faz do que está sendo gerado:
- O processo que gera os rastrear os logs não foi reiniciado para permitir o arquivo .config serem ler.
- Permissões insuficientes existem para o processo monitorado para a pasta na qual os logs rastrear serão gerados.
- O processo para o rastreamento está habilitado não usa o namespace System.NET a partir de .NET Framework 2.0 tempo de execução. Infelizmente, because of o vários maneiras que código gerenciado podem ser acessados, não há nenhuma maneira fácil de determinar se o .NET Framework 2.0 versão do espaço para nome System.NET foi usado para desenvolver um aplicativo.
A seguinte mensagem de erro foi reportada após habilitar rastreamento System.NET quando o serviço SPTimerV3 é iniciado:
Ocorreu um erro sistema 1006.
O volume de um arquivo foi alterado externamente de forma que o arquivo aberto deixou de ser válido.
Para resolver este emitir, crie a pasta saída em que o log será criado (o valor do atributo
initializeData no arquivo Owstimer.exe.config).
- Dependendo quanto atividade for executada, o processo monitorado, o log rastrear pode crescer grande (várias centenas de megabytes) no decorrer de uma hora ou menos. Portanto, log deve ser habilitado somente para solução de problemas problemas específicos. Além disso, a pasta saída deve estar em um volume que tenha espaço suficiente para acomodar uma grande quantidade de dados.
- Depois que o log rastrear System.NET for criada, o processo monitorado manterá um aberto identificador de arquivo para o log rastrear. Para editar, mover ou excluir o log rastrear, o processo monitorado deve ser parado. Tentando alteração de arquivo enquanto o processo proprietário é execução resulta na mensagem "Arquivo em uso" ou um " acesso está negado " mensagem.
Para obter mais informações sobre rastreamento System.NET (também conhecido como log System.NET), visite o seguinte site da Microsoft:
Para obter online documentação para este recurso do .NET Framework, visite o seguinte site da Microsoft:
Os produtos de terceiros mencionados neste artigo são fabricados por empresas que são independentes da Microsoft. Microsoft não faz nenhuma garantia, implícita ou caso contrário, sobre o desempenho ou confiabilidade desses produtos.