AuthenticationException: Authentication failed, see inner exception
CENÁRIO:
Olá!
De uns tempos pra cá meu Mac (OSX) parou de funcionar a funcionalidade de rodar aplicações “localhost” com HTTPS embutido no ASP.NET Core.
Pra contornar, estava montando o Kestrel com certificado auto assinado gerado por mim mesmo (https://docs.microsoft.com/pt-br/aspnet/core/fundamentals/servers/kestrel?view=aspnetcore-2.2#kestrel-options), mas o outro jeito era tão mais fácil e simples que resolvi procurar e há um jeito de resolver! J
ERRO:
Deixando default, e tentando acessar a URL “localhost” com HTTPS obtinha a seguinte mensagem de erro:
fail: Microsoft.AspNetCore.Server.Kestrel[0]
Uncaught exception from the OnConnectionAsync method of an IConnectionAdapter.
System.Security.Authentication.AuthenticationException: Authentication failed, see inner exception. —> Interop+AppleCrypto+SslException: Internal error
— End of inner exception stack trace —
SOLUÇÃO:
Para resolver, há um comando do próprio dotnet para corrigir os certificados e voltar a funcionar tudo perfeitamente:
dotnet dev-certs https
No meu mac, não resolveu de primeira. Tive que limpar os certificados antes com este comando:
dotnet dev-certs https –clean
e depois:
dotnet dev-certs https
Pronto!
Tudo funcionando perfeitamente novamente. 🙂
Abraço!
Como juntar (merge) vários arquivos CSV em um único arquivo CSV
CENÁRIO:
Olá!
Por várias vezes precisei consolidar arquivos CSV em um único arquivo para facilitar análises de dados e indicadores. Quase sempre realizava o bom e velho copy/paste em um novo arquivo.
Mas, chegou o derradeiro dia de realizar essa operação com mais de 20 arquivos…
SOLUÇÃO:
Pra facilitar, coloque todos os seus arquivos CSV em uma pasta separada.
Agora vá no “Terminal” (Mac OS) ou “prompt de comando” (Windows) e use o respectivo comando para juntar os arquivos em um único arquivo novo.
Dica: Se os seus arquivos possuem “cabeçalho” (headers), remova-os antes, pois o comando irá juntar todos os arquivos e os cabeçalhos ficarão no meio das linhas.
Mac:
cat *.csv > novoarquivo.csv
Windows:
copy *.csv novoarquivo-win.csv
Abraço!
Como buscar informações de status do Workflow no SharePoint Online (365)
CENÁRIO:
Olá!
Nas versões antigas (on-premises) do SharePoint Server é bem fácil obter o status do workflow bastando apenas adicionar uma coluna na view que contém o nome do Workflow.
Entretanto, no SharePoint Online (365) é um pouco diferente. Ainda temos a coluna do workflow (WorkflowColumnStatus), mas ela fica “em branco”. Como fazer para verificar, programaticamente, o status do workflow que foi desenvolvido dentro de um SharePoint Add-in?
ERRO:
Colunas em branco:
SOLUÇÃO:
Utilizando o SharePoint CSOM ou JSOM (Javascript Object Model) é possível instanciar o WorkflowServicesManager e obter as informações do workflow.
Em texto:
var workflowServicesManager = new WorkflowServicesManager(ctx, ctx.Web);
// connect to the instance service
var workflowInstanceService = workflowServicesManager.GetWorkflowInstanceService();
// get all instances
var workflowInstances = workflowInstanceService.EnumerateInstancesForListItem(listId, itemId);
ctx.Load(workflowInstances, i => i.Include(f => f.Id, f => f.LastUpdated, f => f.Status));
ctx.ExecuteQuery();
foreach (var instance in workflowInstances)
{
try
{
if (instance.Status.ToString() != “Completed”)
{
Console.WriteLine(“{0} – {1} – {2}”,
instance.Id.ToString(),
instance.LastUpdated,
instance.Status.ToString());
}
}
catch (Exception ex)
{
_telemetry.TrackException(ex);
}
}
. J
Abraço!
Alto consumo CPU e memória noderunner.exe – SharePoint 2013
CENÁRIO:
Olá!
Apesar de ter montando uma máquina virtual de desenvolvimento com um hardware razoável (gastar menos $$) sofri com consumo excessivo de CPU e memória em um servidor com SharePoint 2013, SQL Server 2008 R2 e Visual Studio 2017 instalado.
ERRO:
Não é um erro, mas é um comportamento pesado para um ambiente de desenvolvimento.
SOLUÇÃO:
Analisando um pouco o comportamento do servidor para descobrir o “vilão” da jogada… notei que o processo “noderunner.exe” estava consumindo muita memória e CPU considerável.
Noderunner.exe é um componente do serviço de busca do SharePoint 2013.
Para ambientes de Dev, podemos reduzir o consumo desse serviço. Principalmente se não estamos usando a busca do SharePoint 2013 no desenvolvimento. Inclusive, desabilitar o serviço.
No caso, eu precisava de um “pouco” de busca…
Então, utilizei os passos a seguir para reduzir o impacto da busca no consumo de recursos do servidor.
- Rode o cmdlet Powershell abaixo para reduzir o consumo de CPU
Set-SPEnterpriseSearchService -PerformanceLevel Reduced
- Altere o parâmetro “memoryLimitMegabytes” do arquivo “exe.config”. Por padrão, a configuração é “0” – ilimitado.
C:\Program Files\Microsoft Office Servers\15.0\Search\Runtime\1.0\noderunner.exe.config
- Reinicie o serviço de busca do SharePoint com o cmdlet a seguir
Restart-Service SPSearchHostController
Agora o servidor ganhou “algum” fôlego.
Informações adicionais: https://docs.microsoft.com/en-us/powershell/module/sharepoint-server/Set-SPEnterpriseSearchService?view=sharepoint-ps
Reduced: Total number of threads = number of processors, Max Threads/host = number of processors
Partly Reduced: Total number of threads = 4 times the number of processors , Max Threads/host = 16 time the number of processors
Maximum: Total number of threads = number of processors
Abraço!
The virtual machine cannot restart. The current virtual machine state is RoleStateUnknown
Olá!
Cenário:
Uma dica rápida… que quase me fez chorar… rs
Montei uma VM SharePoint 2010 no Windows Azure Virtual Machine Preview… até aí beleza… Massss… resolvi desligar a máquina para aumentar a memória. Desliguei e pra ligar de novo?
ERRO:
The virtual machine cannot restart. The current virtual machine state is RoleStateUnknown.
Não liga nem com reza brava! Horas de trabalho indo pro limbo… 😥
É um problema da plataforma, e provavelmente será corrigido posteriormente, mas e minha VM? rs
SOLUÇÃO:
Achei uma dica no fórum do Windows Azure americano:
Mas, resumindo o procedimento…
1. Delete a sua VM (sim, apague!)
2. Cria uma nova VM > From Gallery e escolha o disco da VM que você acabou de deletar.
3. A VM vai voltar e ligar sozinha. Você vai perder a URL anterior (por que não vai conseguir criar com o mesmo DNS, pois já em uso anteriormente por você mesmo – não testei esperar pra ver se o nome fica livre depois de um tempo…) e também os Endpoints.
Tem um esquema de exportar e importar as configurações no link… talvez isso mantenha as configurações anteriores.
É isso aí, até mais!
Abraço!
2011 in review
The WordPress.com stats helper monkeys prepared a 2011 annual report for this blog.
Here’s an excerpt:
The concert hall at the Sydney Opera House holds 2,700 people. This blog was viewed about 16,000 times in 2011. If it were a concert at Sydney Opera House, it would take about 6 sold-out performances for that many people to see it.
Unable to evaluate expression because the code is optimized or a native frame is on top of the call stack
Olá!
Cenário:
Algumas coisinhas que acontecem quando temos variáveis diferentes ao nosso Portal!
Nesta ocasião o Portal será exposto na Internet, e usuários com permissão somente leitura irão acessar o Portal.
Nos primeiros testes tudo Ok, mas algumas páginas usam determinados recursos que precisam de permissão elevada para rodar.
ERRO:
Unable to evaluate expression because the code is optimized or a native frame is on top of the call stack.
Ao tentar usar uma funcionalidade bem simples, como SPWeb.Webs, a excetion acima é gerada.
SOLUÇÃO:
Para solucionar o problema podemos forçar nosso código para rodar com permissões elevadas. O SharePoint nos ajuda com isso com o método:
http://msdn.microsoft.com/en-us/library/microsoft.sharepoint.spsecurity.runwithelevatedprivileges.aspx – SPSecurity.RunWithElevatedPrivileges Method
public static void RunWithElevatedPrivileges(
SPSecurity..::..CodeToRunElevated secureCode)
Então basta instanciar nossos objetos usando este método! Algo assim:
SPSecurity.RunWithElevatedPrivileges(delegate() { using (SPSite site = new SPSite(web.Site.ID)) { // seu código aqui! } });
Seu código irá rodar com a conta do Application Pool, a qual possui permissões de SiteCollection Administrator em todas as sitecollections hospedadas nessa Application Pool.
Abraço!
2010 in review
The stats helper monkeys at WordPress.com mulled over how this blog did in 2010, and here’s a high level summary of its overall blog health:
The Blog-Health-o-Meter™ reads This blog is doing awesome!.
Crunchy numbers
A Boeing 747-400 passenger jet can hold 416 passengers. This blog was viewed about 2,000 times in 2010. That’s about 5 full 747s.
In 2010, there were 41 new posts, growing the total archive of this blog to 54 posts. There were 330 pictures uploaded, taking up a total of 19mb. That’s about 6 pictures per week.
The busiest day of the year was December 13th with 78 views. The most popular post that day was Microsoft SharePoint server 2010 encountered an error during setup. One or more required office components failed to complete successfully.
Where did they come from?
The top referring sites in 2010 were google.com.br, social.msdn.microsoft.com, google.pt, twitter.com, and linhadecodigo.com.br.
Some visitors came searching, mostly for error: command: ‘c:program filescommon filesmicrosoft sharedserver14server setup controllerdbwrap.exe’ failed with error code: -2068643839. type: 8::commandfailed..
Attractions in 2010
These are the posts and pages that got the most views in 2010.
Microsoft SharePoint server 2010 encountered an error during setup. One or more required office components failed to complete successfully November 2010
1 comment
WorkFlow State Machine no SharePoint 2010 September 2010
2 comments
Extraindo informações de listas no SharePoint e carregando em tabelas no SQL Server usando Integration Services October 2010
3 comments
Acessando e processando dados externos de planilhas via Excel Services Web Services October 2010
3 comments
Usando Foreach Loop Container e Variáveis para extrair informações de sites/listas diferentes do SharePoint usando Integration Services November 2010
1 comment
Criando um Lookup Field Multiple Value via Feature/CAML
Olá!
Overview:
Nós podemos criar fields no SharePoint via feature, usando arquivos XML/CAML. Veja informações adicionais em: http://msdn.microsoft.com/en-us/library/ms437580.aspx.
Cenário:
Esse método de criação de Fields é muito utilizado quando pretendemos automatizar processos de Deployment e também para disponilizar Fields pré-definidos para utilização em todo o site.
Veja um exemplo de utilização de Fields, com Content Types e List Definitions: http://www.canalsharepoint.com.br/tutoriais/Tutoriais/SharePoint%202010%20List%20Definition%20e%20Content%20Types.aspx.
SOLUÇÃO:
Para um Lookup Field com MultipleValue (seleção de múltiplos valores) faça o seguinte:
- <Field ID="{2AC3CD5A-25E7-499C-9E78-E1A2297CE3A3}" Name="WfkResponsavel" StaticName="WfkResponsavel" Type="LookupMulti" Mult="TRUE" List="Lists/Areas" ShowField="Title" Required="TRUE" DisplayName="Responsável" ShowInDisplayForm="TRUE" ShowInEditForm="TRUE" ShowInNewForm="TRUE" />
List = Lista que contém as informações que você vai mostrar no campo.
ShowField = Campo da lista das informações que será mostrado.
Abraço!
Problemas para instalar Novo Windows Live Messenger 2010 BETA – erro 0x80070643
Overview:
Com o Lançamento do Novo Windows Live Messenger 2010 BETA, logo quis instalar e verificar as novidades. Mas, para minha surpresa, não foi tão fácil instalá-lo.
ERRO:
Ao tentar instalar, no fim da instalação, aparecia a mensagem dizendo que não foi possível completar a instalação com a seguinte descrição:
Couldn’t install programs
Couldn’t install these programs: Messenger
Error: 0x80070643
Source: Contacts
SOLUÇÃO:
Para resolver meu problema descobri que não estava completando a instalação por uma questão de Firewall do Windows. Então fiz o seguinte.
a. Cliquei em Iniciar
b. Cliquei Painel de Controle
c. Cliquei Windows Firewall
d. Cliquei Ative ou desative o Windows Firewall
e. Cliquei Ativar Windows Firewall
f. Cliquei OK
Rodei o instalador novamente e tudo funcionou perfeitamente desta vez! 😉
Caso não funcione, experimente reiniciar o computador primeiro, e quando o sistema ligar novamente, verifique se o Windows Firewall continua Ativo. Às vezes, ao reiniciar, o serviço não volta ativo.
Para baixar o novo Windows Live Messenger 2010 BETA, acesse: http://explore.live.com/windows-live-messenger-beta
Abraço!