Configurar Silverlight 3 en nuestro servidor SharePoint

Para empezar a desarrollar y utilizar Silverlight 3 debemos descargar los siguientes componentes:

  1. Silverlight 3 Windows Developer Runtime y presionamos sobre Windows Runtime como podemos observer en al imagen.

     

     1

     

  2. Silverlight 3 SDK, solo está disponible en inglés por lo que deberemos de disponer de Visual Studio en el correspondiente idioma.

Si además queremos desarrollar aplicaciones de Silverlight 3 en el servidor, tendremos que descargarnos e instalar los siguientes componentes:

  1. Silverlight 3 Tools para Visual Studio 2008 SP1 con este complemento nos será de ayuda en la parte de desarrollo del proyecto.
  2. Microsoft Expression Blend 3 + SketchFlow, si lo que queremos es una herramienta que nos facilite el diseño de aplicaciones deberemos instalar el citado elemento.
  3. Microsoft .NET RIA Services proporciona un patrón para la escritura lógica de la aplicación que se ejecuta en el nivel intermedio y controla el acceso a datos para las consultas, los cambios y operaciones personalizadas.
  4. Documentación de Microsoft Silverlight 3 sin conexión.

Ahora vamos a pasar a configurar nuestro servidor SharePoint para que se puedan ejecutar aplicaciones de Silverlight 3.

  1. Vamos a acceder al SDK de Silverlight 3 para obtener la System.Web.Silverlight.dll que es necesaria en nuestro servidor SharePoint. Esta se encuentra en c:Program FilesMicrosoft SDKsSilverlightv3.0LibrariesServer 
  2. Para ejecutar dicha dll debemos ejecutar el siguiente comando GACUTIL /if «C:Program FilesMicrosoft SDKsSilverlightv3.0LibrariesServerSystem.Web.Silverlight.dll» en una consola de comandos.

Si en el servidor no disponemos de Visual Studio 2008 deberemos realizar las siguientes acciones:

  1. Accederemos a el archivo web.config de Sharepoint utilizando el explorador de Windows, generalmente está situado en C:Archivos de programaArchivos comunesMicrosoft Sharedweb server extensions12CONFIG.
  2. Hacemos una copia de seguridad del web.config para poder recuperar el original en cualquier momento.
  3. Dentro del web.config nos situaremos en la secciones <configuration> y después en <configSections>, añadiendo:

    <sectionGroup name=«system.web.extensions« type=«System.Web.Configuration.SystemWebExtensionsSectionGroup, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35«>

    <sectionGroup name=«scripting« type=«System.Web.Configuration.ScriptingSectionGroup, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35«>

    <section name=«scriptResourceHandler« type=«System.Web.Configuration.ScriptingScriptResourceHandlerSection, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35« requirePermission=«false« allowDefinition=«MachineToApplication«/>

    <sectionGroup name=«webServices« type=«System.Web.Configuration.ScriptingWebServicesSectionGroup, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35«>

    <section name=«jsonSerialization« type=«System.Web.Configuration.ScriptingJsonSerializationSection, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35« requirePermission=«false« allowDefinition=«Everywhere« />

    <section name=«profileService« type=«System.Web.Configuration.ScriptingProfileServiceSection, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35« requirePermission=«false« allowDefinition=«MachineToApplication« />

    <section name=«authenticationService« type=«System.Web.Configuration.ScriptingAuthenticationServiceSection, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35« requirePermission=«false« allowDefinition=«MachineToApplication« />

    <section name=«roleService« type=«System.Web.Configuration.ScriptingRoleServiceSection, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35« requirePermission=«false« allowDefinition=«MachineToApplication« />

    </sectionGroup>

    </sectionGroup>

     

  4. Dentro de la sección <assemblies> perteneciente al area <compilation> añadiremos el siguiente código:

    <add assembly=«System.Core, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089«/>

    <add assembly=«System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35«/>

    <add assembly=«System.Data.DataSetExtensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089«/>

    <add assembly=«System.Xml.Linq, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089«/>

    <add assembly=«System.Web.Silverlight, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35« />

     

  5. Dentro de las etiquetas <system.web>..<pages>..<controls> introducimos el siguiente código:

    <add tagPrefix=«asp« namespace=«System.Web.UI« assembly=«System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35«/>

    <add tagPrefix=«asp« namespace=«System.Web.UI.WebControls« assembly=«System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35«/>

    <add tagPrefix=asp namespace=«System.Web.UI.SilverlightControls« assembly=«System.Web.Silverlight, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35« />

     

  6. En <system.web>..<httpHandlers> incluimos:

    <remove verb=«*« path=«*.asmx«/>

    <add verb=«*« path=«*.asmx« validate=«false« type=«System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35«/>

    <add verb=«*« path=«*_AppService.axd« validate=«false« type=«System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35«/>

    <add verb=«GET,HEAD« path=«ScriptResource.axd« type=«System.Web.Handlers.ScriptResourceHandler, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35« validate=«false«/>

     

  7. Por último en <system.web><httpModules> añadimos:

    <add name=«ScriptModule« type=«System.Web.Handlers.ScriptModule, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35«/>

     

  8. Solo para la utilización IIS 7 añadiremos en siguiente código en la sección
    <configuration>:

     

    <system.webServer>

    <validation validateIntegratedModeConfiguration=«false«/>

    <modules>

    <remove name=«ScriptModule« />

    <add name=«ScriptModule« preCondition=«managedHandler« type=«System.Web.Handlers.ScriptModule, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35«/>

    </modules>

    <handlers>

    <remove name=«WebServiceHandlerFactory-Integrated«/>

    <remove name=«ScriptHandlerFactory« />

    <remove name=«ScriptHandlerFactoryAppServices« />

    <remove name=«ScriptResource« />

    <add name=«ScriptHandlerFactory« verb=«*« path=«*.asmx« preCondition=«integratedMode« type=«System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35«/>

    <add name=«ScriptHandlerFactoryAppServices« verb=«*« path=«*_AppService.axd« preCondition=«integratedMode« type=«System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35«/>

    <add name=«ScriptResource« preCondition=«integratedMode« verb=«GET,HEAD« path=«ScriptResource.axd« type=«System.Web.Handlers.ScriptResourceHandler, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35« />

    </handlers>

    </system.webServer>10. Add an AssemblyBinding element to the <configuration>

    <runtime>

    node: <assemblyBinding xmlns=«urn:schemas-microsoft-com:asm.v1«>

    <dependentAssembly>

    <assemblyIdentity name=«System.Web.Extensions« publicKeyToken=«31bf3856ad364e35«/>

    <bindingRedirect oldVersion=«1.0.0.0-1.1.0.0« newVersion=«3.5.0.0«/>

    </dependentAssembly>

    <dependentAssembly>

    <assemblyIdentity name=«System.Web.Extensions.Design« publicKeyToken=«31bf3856ad364e35«/>

    <bindingRedirect oldVersion=«1.0.0.0-1.1.0.0« newVersion=«3.5.0.0«/>

    </dependentAssembly>

     

    </assemblyBinding>

     

 

 

 

Al trabajar con IIS 7 evitamos la configuración de los MIME TYPE. Por otro lado si utilizamos versiones anteriores, tenemos que configurar manualmente cada Web Application en la raíz de IIS siguiendo estos pasos:

 

  1. Abrir el IIS.
  2. Presionamos con el botón derecho sobre la raíz de nuestra aplicación web
  3. Activa la casilla HTTP HEADERS.

    2


     

  4. Haremos clic en el botón MIME TYPES.

    3


     

  5. Presionaremos sobre NUEVO.

    4


     

  6. Para definir un nuevo MIME TYPE la extensión la deberemos configurar como .xap y el tipo será application/x-silverlight.

    5


     

  7. Para guardar los diferentes cambios presionamos en el botón OK

 

 

 

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *