Я бы создал службу Windows или временную работу в SharePoint, а затем подключил совместимый соединитель ado.net к своему процессу.Таким образом, вы можете копировать или синхронизировать данные между двумя списками, как если бы они были обычными таблицами SQL.
private void example()
{
// Fetch data from your left sharepoint
SharePointConnection leftConnection = new SharePointConnection(@"
Server=mysharepointserver.com;
Database=mysite/subsite
User=spuser;
Password=******;
Authentication=Ntlm;
TimeOut=10;
StrictMode=True;
RecursiveMode=RecursiveAll;
DefaultLimit=1000;
CacheTimeout=5");
leftConnection.Open();
string leftQuery = "SELECT * FROM LeftList";
SharePointDataAdapter adapter = new SharePointDataAdapter(leftQuery, leftConnection);
DataTable dt = new DataTable();
adapter.Fill(dt);
// Insert data in right sharepoint
SharePointConnection rightConnection = new SharePointConnection(@"
Server=anothersharepointserver.com;
Database=whateversite
User=spuser;
Password=******;
Authentication=Ntlm;
TimeOut=10;
StrictMode=True;
RecursiveMode=RecursiveAll;
DefaultLimit=1000;
CacheTimeout=5");
rightConnection.Open();
// build your rightQuery here
string rightQuery = "Insert into"...
SharePointCommand command = new SharePointCommand(rightQuery, rightConnection);
command.ExecuteNonQuery();
}
Вы можете попробовать эту http://www.bendsoft.com/net-sharepoint-connector/. Этот соединитель ado.net использует API SharePointтак что вы можете запустить службу на третьем компьютере, и если у вас есть доступ, у вас все будет хорошо.
Есть несколько примеров и инструкции на http://blog.bendsoft.com