Home > Uncategorized > Unable to evaluate expression because the code is optimized or a native frame is on top of the call stack

Unable to evaluate expression because the code is optimized or a native frame is on top of the call stack


Olá! Alegre

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!

Advertisements
Categories: Uncategorized
  1. No comments yet.
  1. No trackbacks yet.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

w

Connecting to %s

%d bloggers like this: