Pergunta

Eu estou tendo problemas para fazê-lo funcionar e queria perguntar se você sabe se é possível usar CSOM em SP 2013 Farm de Soluções?

Eu constantemente obter um 401 não autorizado de exceção.

Aqui está como eu criar o clientcontext:

this.webUrl = SPContext.Current.Web.Url;
this.siteUrl = SPContext.Current.Site.Url;

clientContext = new SP.ClientContext(this.webUrl);
clientContext.Credentials = CredentialCache.DefaultNetworkCredentials;

Como eu quero compartilhar código entre uma SharePoint Autohosted app e a minha fazenda solução que eu tenho para usar o CSOM.

Foi útil?

Solução

Isso não vai funcionar devido as verificações de segurança interna do SharePoint, desativação-los não é recomendado.

Portanto, você abstrair o código principal e criar uma semi inteligente de enlace de dados camada em sua classe para carregar os dados.Carregar dinamicamente no namespace necessário para a leitura dos dados, usando reflexão.

System.Reflection.Assembly asmbly;
asmbly = System.Reflection.Assembly.Load("Microsoft.SharePoint")

object clss;
clss = asb.CreateInstance("Microsoft.SharePoint.Foo")

Sim, seria um pouco mais de código, mas, se você abstrato-lo corretamente e carregar os dados em uma Lista, por exemplo, este código será mínimo.

De referência - Dinâmica do espaço de nomes de Importações e de Comutação:

http://www.codeproject.com/Articles/32828/Using-Reflection-to-load-unreferenced-assemblies-a

http://www.debenu.com/kb/switching-between-the-32-bit-and-64-bit-dll-versions-of-debenu-quick-pdf-library/

Licenciado em: CC-BY-SA com atribuição
Não afiliado a sharepoint.stackexchange
scroll top