Utilizzo di BCS e WCF per aggiungere dati esterni all'indice di SharePoint
-
10-12-2019 - |
Domanda
Essendo completamente nuovo all'intero ambiente di SharePoint, sto avendo difficoltà a capire esattamente come gattonare i dati esterni in un indice di SharePoint.
Cosa devo realizzare è che un utente può utilizzare SP Cerca per cercare un'origine dati esterna.I risultati mostreranno i dati esterni che dovrebbero (idealmente) essere cliccabili e reindirizzare l'utente alla sorgente esterna (come una pagina Web).
finora quello che capisco è che usi BCS e importiamo un modello BDC.WCF è utilizzato per "dare" le informazioni attraverso la SharePoint dall'origine dati esterna.
La mia domanda è ora, come funziona esattamente un servizio di distribuzione / wcf?
Ho cercato modi per farlo ma il materiale che sto trovando non è davvero chiaro niente
Questo è quello che ho finora a Isererice.cs, ma sto combattendo per capire esattamente cosa fare con esso.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Runtime.Serialization;
using System.ServiceModel;
using System.Text;
namespace WcfServiceLibrary1
{
[ServiceContract]
public interface IService1
{
[OperationContract]
List<string> GetData(int value);
[OperationContract]
CompositeType GetDataUsingDataContract(CompositeType composite);
}
[DataContract]
public class CompositeType
{
bool boolValue = true;
string stringValue = "Hello ";
[DataMember]
public bool BoolValue
{
get { return boolValue; }
set { boolValue = value; }
}
[DataMember]
public string StringValue
{
get { return stringValue; }
set { stringValue = value; }
}
}
}
.
E questo è in Service.cs
using System;
using System.Collections.Generic;
using System.Linq;
using System.Runtime.Serialization;
using System.ServiceModel;
using System.Text;
namespace WcfServiceLibrary1
{ public class Service1 : IService1
{
public List<string> GetData(int value)
{
List<string> list = new List<string>();
list.Add(string.Format("Order1", value));
list.Add(string.Format("Order2", value));
list.Add(string.Format("Order3", value));
list.Add(string.Format("Order4", value));
list.Add(string.Format("Order5", value));
return list;
}
public CompositeType GetDataUsingDataContract(CompositeType composite)
{
if (composite == null)
{
throw new ArgumentNullException("composite");
}
if (composite.BoolValue)
{
composite.StringValue += "Suffix";
}
return composite;
}
}
}
.
Grazie in anticipo
Soluzione
La creazione del servizio Web basato su WCF è indipendente dal suo consumo in SharePoint tramite BCS.Il meccanismo di ricerca dell'elenco esterno (proveniente dai servizi WCF) è più complesso (usando ibrido). Ci sono altri elementi che devono essere indirizzati, servizio memorizzato con memorizzato, ecc. Per saperne di più, suggerirei di iniziare con alcuni esempi di Fabian Williams -
usando WCF e BCS per portare i dati aziendali al cloud [presentazione PDF]
Diversi post sul blog relativi alla BCS
Utilizzo di SharePoint BCS nel cloud - Surfacing Crud Data con WCFe ufficio 365 [serie eccellente]
Altri suggerimenti
Consiglierei anche il libro eccellente di Scot Hillier sul tema di BCS Servizi di connettività professionale per SharePoint 2010 .Anche se è il 2010 è ancora un riferimento molto valido.Non affronta il cloud, ma fornisce una grande profondità sull'argomento.
Avrei incollato un link ma sembra che questo non sia permesso.