CSOM em FarmSolution
-
10-12-2019 - |
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.
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