Вопрос

У меня проблемы с проблемами, чтобы получить его бегать и хотеть задать вам, если вы знаете, если вы можете использовать CSOM в SP 2013 Farm Solutions?

Я постоянно получаю 401 несанкционированное исключение.

Вот как я создаю ClientContext:

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

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

Как я хочу поделиться кодом между приложением AutoHosted SharePoint AutoHosted и My Farm Change, я должен использовать CSOM.

Это было полезно?

Решение

This won't work because of internal security checks of SharePoint, and deactivating them isn't recommended.

Therefore you abstract your main code and create a semi intelligent data binding layer in your class to load the data. Dynamically loading in the required namespace for reading in the data, by using reflection.

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

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

Yes it would be a little more code, but if you abstract it properly and load the data into a List for example, then this code will be minimal.

Reference - Dynamic Namespace Imports and Switching:

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/

Лицензировано под: CC-BY-SA с атрибуция
Не связан с sharepoint.stackexchange
scroll top