Passo a passo: Criando um web part do Silverlight que exiba OData para o SharePoint

O SharePoint 2010 expõe seus dados da lista por meio de OData.Em o SharePoint, o serviço de OData é implementado pelo serviço repousante ListData.svc.Essa explicação passo a passo mostra como criar uma parte do SharePoint Web que hospeda um aplicativo do Silverlight.Informações da lista de comunicado do SharePoint exibe de aplicativo do Silverlight usando ListData.svc.Para obter mais informações, consulte Interface de RESTO de base do SharePoint e Protocolo aberto de dados.

Essa explicação passo a passo demonstra as seguintes tarefas:

  • Criando um aplicativo do Silverlight Web parts e um Silverlight.

  • Personalizando o aplicativo Silverlight.

  • Personalizando o aplicativo Silverlight.

  • Personalizando o aplicativo Silverlight.

  • Testando Web parts o Silverlight.

ObservaçãoObservação

Seu computador pode mostrar nomes ou locais diferentes para alguns dos elementos da interface do usuário do Visual Studio nas instruções a seguir. A edição do Visual Studio que você possui e as configurações que você usa determinam esses elementos. Para obter mais informações, consulte Configurações de Visual Studio.

Pré-requisitos

Para completar este passo-a-passo, são necessários os seguintes componentes:

Criando um aplicativo do Silverlight Web parts e um Silverlight

Primeiro, crie um aplicativo do Silverlight no Visual Studio.O aplicativo do Silverlight recupera dados dos anúncios do SharePoint lista usando o serviço de ListData.svc.

ObservaçãoObservação

As versões do Silverlight 4,0 antes que oferecem suporte as interfaces necessárias para fazer referência a lista de dados do SharePoint.

Para criar um aplicativo do Silverlight parte Web e um Silverlight

  1. Em a barra de menu, escolha Arquivo, Novo, Projeto para exibir a caixa de diálogo de Novo Projeto .

  2. Expanda o nó de SharePoint em Visual C# ou Visual Basic, e então escolha o nó de 2010 .

  3. Em o painel de modelos, escolha o modelo de Web parts SharePoint 2010 Silverlight .

  4. Em a caixa de Nome , entre em SLWebPartTest e então escolha o botão de OK .

    a caixa de diálogo de Assistente de personalização do SharePoint aparece.

  5. Em a página de Especificar o site e o nível de segurança para depuração , digite o URL do site de servidor do SharePoint onde você deseja depurar a definição do site, ou use o local padrão (http://nome do sistema/).

  6. Em a seção de Que é o nível de confiança para esta solução do SharePoint? , escolha o botão de opção de Implantar como uma solução de farm .

    Embora esse exemplo use uma solução de farm, os projetos de parte do Silverlight Web podem ser implantados como farm ou soluções na área restrita.Para obter mais informações sobre as soluções na área restrita e soluções de farm, consulte Considerações sobre a solução no modo seguro.

  7. Em a seção de Como você deseja associar Web parts o Silverlight da página de Especificar informações de configuração do Silverlight , escolha o botão de opção de Crie um novo projeto do Silverlight e associá-la com a parte Web .

  8. Altere Nome a SLApplication, defina Idioma a Visual Basic ou a Visual C#, e defina Versão do Silverlight a Silverlight 4,0.

  9. Escolha o botão de Concluir .os projetos aparecem em Gerenciador de Soluções.

    A solução contém dois projetos: um aplicativo do Silverlight e uma parte do Silverlight Web.O aplicativo do Silverlight recupera e exibe os dados de lista do SharePoint, e parte do Silverlight Web hospeda o aplicativo Silverlight, permitindo que você veja no SharePoint.

Personalizando o aplicativo Silverlight

Adicione elementos de código e de design para o aplicativo do Silverlight.

Para personalizar o aplicativo Silverlight

  1. Adicionar uma referência de montagem a System.Windows.Data no aplicativo do Silverlight.Para obter mais informações, consulte Como: Adicionar ou remover referências usando a caixa de diálogo Adicionar referência.

  2. Em Gerenciador de Soluções, abra o menu de atalho para Referências, e então escolha Adicionar referência de serviço.

    ObservaçãoObservação

    Se você estiver usando Visual Basic, você deve escolher o ícone de Mostrar todos os arquivos na parte superior de Gerenciador de Soluções para exibir o nó de Referências .

  3. Em a caixa address da caixa de diálogo de Adicionar referência de serviço , digite o URL do seu site da web do SharePoint, como http://MySPSite, e então escolha o botão de Ir .

    Quando o Silverlight ListData.svc localiza o serviço do SharePoint OData, substitui o endereço com o URL do serviço completo.Para esse exemplo, torna-se http://myserver http://myserver/_vti_bin/ListData.svc.

  4. Escolha o botão de OK para adicionar a referência de serviço para o projeto, e use o nome padrão do serviço, ServiceReference1.

  5. Em a barra de menu, escolha Compilar, Compilar solução.

  6. Adicionar uma nova fonte de dados para o projeto com base no serviço do SharePoint.Para fazer isso, na barra de menu, escolha Modo de Visualização, Outras Janelas, Fontes de Dados.

    A janela de Fontes de Dados mostra todos os dados disponíveis de lista do SharePoint, como tarefas, anúncios, e calendário.

  7. Adicione os dados da lista de anúncios ao aplicativo Silverlight.Você pode arrastar “anúncios” da janela de Fontes de Dados no Silverlight designer.

    Isso cria um limite de controle de grade à lista de anúncios de site web do SharePoint.

  8. Redimensione o controle de grade para caber na página do Silverlight.

  9. Em o arquivo de código de MainPage.xaml (MainPage.xaml.cs para MainPage.xaml.vb para visual C# ou Visual Basic), adicione as seguintes referências de namespace.

    ' Add the following three Imports statements.
    Imports SLApplication.ServiceReference1
    Imports System.Windows.Data
    Imports System.Data.Services.Client
    
    // Add the following three using statements.
    using SLApplication.ServiceReference1;
    using System.Windows.Data;
    using System.Data.Services.Client;
    
  10. Adicione as seguintes declarações de variável na parte superior da classe.

    Private context As TeamSiteDataContext
    Private myCollectionViewSource As CollectionViewSource
    Private announcements As New DataServiceCollection(Of AnnouncementsItem)()
    
    private TeamSiteDataContext context;
    private CollectionViewSource myCollectionViewSource;
    DataServiceCollection<AnnouncementsItem> announcements = new DataServiceCollection<AnnouncementsItem>();
    
  11. Substitua o procedimento de UserControl_Loaded com o seguinte.

    Private Sub UserControl_Loaded_1(sender As Object, e As RoutedEventArgs)
        ' The URL for the OData service.
        ' Replace <server name> in the next line with the name of your SharePoint server.
        context = New TeamSiteDataContext(New Uri("http://<server name>/_vti_bin/ListData.svc"))
    
        ' Do not load your data at design time.
        If Not System.ComponentModel.DesignerProperties.GetIsInDesignMode(Me) Then
            'Load your data here and assign the results to the CollectionViewSource.
            myCollectionViewSource =   DirectCast(Me.Resources("announcementsViewSource"), System.Windows.Data.CollectionViewSource)
            announcements.LoadCompleted += New EventHandler(Of LoadCompletedEventArgs)(AddressOf announcements_LoadCompleted)
            announcements.LoadAsync(context.Announcements)
        End If
    End Sub
    
    private void UserControl_Loaded_1(object sender, RoutedEventArgs e)
    {
        // The URL for the OData service.
        // Replace <server name> in the next line with the name of your 
        // SharePoint server.
        context = new TeamSiteDataContext(new Uri("https://ServerName>/_vti_bin/ListData.svc"));
    
        // Do not load your data at design time.
        if (!System.ComponentModel.DesignerProperties.GetIsInDesignMode(this))
        {
            //Load your data here and assign the results to the CollectionViewSource.
            myCollectionViewSource = (System.Windows.Data.CollectionViewSource)this.Resources["announcementsViewSource"];
            announcements.LoadCompleted += new EventHandler<LoadCompletedEventArgs>(announcements_LoadCompleted);
            announcements.LoadAsync(context.Announcements);
        }
    }
    

    Certifique-se de substituir o espaço reservado de ServerName com o nome do servidor que está executando o SharePoint.

  12. Adicione o seguinte procedimento de tratamento de erros.

    Private Sub announcements_LoadCompleted(sender As Object, e As LoadCompletedEventArgs)
        ' Handle any errors.
        If e.[Error] Is Nothing Then
            myCollectionViewSource.Source = announcements
        Else
            MessageBox.Show(String.Format("ERROR: {0}", e.[Error].Message))
        End If
    End Sub
    
    void announcements_LoadCompleted(object sender, LoadCompletedEventArgs e)
    {
        // Handle any errors.
        if (e.Error == null)
        {
            myCollectionViewSource.Source = announcements;
        }
        else
        {
            MessageBox.Show(string.Format("ERROR: {0}", e.Error.Message));
        }
    }
    

Alterando Web parts o Silverlight

Modificar uma propriedade no projeto de parte do Silverlight Web ativar a depuração Silverlight.

Para alterar a parte do Silverlight Web

  1. Abra o menu de atalho para o projeto da Web (parte do SilverlightSLWebPartTest), e depois escolha Propriedades.

  2. Em a janela de Propriedades , escolha a guia de SharePoint .

  3. Se ainda não estiver selecionada, selecione a caixa de seleção de Ativar depuração do Silverlight (em vez de depuração de scripts) .

  4. salvar o projeto.

Testando Web parts o Silverlight

Testar a nova parte do Silverlight Web do SharePoint para garantir que exibe dados de lista do SharePoint corretamente.

Para testar a parte do Silverlight Web

  1. Escolha a tecla F5 para compilar e executar a solução do SharePoint.

  2. Em o SharePoint, no menu de Ações do Site , escolha Nova Página.

  3. Em a caixa de diálogo de Nova Página , digite um título, como o teste de SL Web parts, e então escolha o botão de Criar .

  4. Em o designer de página, na guia de Ferramentas de Edição , escolha Inserir.

  5. Em a faixa da guia, escolha Web Part.

  6. Em a caixa de Categorias , escolha a pasta de Personalizar .

  7. Em a lista de Web Parts , escolha a parte do Silverlight Web, e então escolha o botão de Adicionar para adicionar a parte Web para o designer.

  8. Depois que você fez todas as adições a página Web que você deseja, escolha a guia de Página , e então escolha o botão de Salve e feche na barra de ferramentas.

    A parte do Silverlight Web agora deve exibir dados de comunicado de site web do SharePoint.Por padrão, a página é armazenada nas páginas do site lista no SharePoint.

    ObservaçãoObservação

    Para acessar dados entre domínios no Silverlight, o Silverlight na proteção contra vulnerabilidades de segurança que podem ser usadas para explorar aplicativos web.Se você encontrar problemas ao acessar dados no Silverlight remotos, consulte Fazendo um serviço disponível através dos limites do domínio.

Consulte também

Conceitos

Implantando, publicando e atualizando pacotes de solução do SharePoint

Outros recursos

Criação de Web Parts para o SharePoint