Cuando estás tratando de desplegar un manejador de eventos remoto en SharePoint 2013 OnPremise, te puedes encontrar con ciertos comportamientos no esperados que por suerte tienen remedio. El primero de ellos es qué despliegues la aplicación asociada al manejador y te encuentres qué al ir a agregarla a un sitio:
-
Te encuentras conque la aplicación aparece deshabilitada, lo que impide qué se pueda agregar.
-
Si pulsas el enlace “Descubra por qué” bajo el icono de la aplicación, se muestra una página de detalle de la aplicación en la que se informa que no se puede agregar al sitio debido a qué la aplicación no es compatible con el servidor…es entonces cuando tras quedarte unos segundos perplejo ya qué el tipo de aplicación en este caso es de tipo “SharePoint Hosted”, te das cuenta qué a pesar de qué la aplicación se creó en este modo, es necesario realizar ciertas configuraciones adicionales relativas al manejador de eventos remoto para qué una vez desplegada se pueda agregar en el sitio.
-
En concreto, es necesario configurar adecuadamente los archivos “web.config” del manejador de eventos y manifiesto de la aplicación.
1: <?xml version="1.0" encoding="utf-8"?>
4: Para obtener más información sobre cómo configurar la aplicación de ASP.NET, visite
5: http://go.microsoft.com/fwlink/?LinkId=169433
10: <compilation debug="true" targetFramework="4.0" />
14: <add key="ClientId" value="" />
15: <add key="ClientSecret" value="09I97+iEkkGT+NgQF9KJu7G/2712iNSmM7Moc+KQD3M=" />-->
17: <system.serviceModel>
20: <!--Usado por aplicación para SharePoint-->
21: <binding name="secureBinding">
22: <security mode="Transport" />
27: <add binding="basicHttpBinding" scheme="https" bindingConfiguration="secureBinding" />
29: </system.serviceModel>
.csharpcode, .csharpcode pre
{
font-size: small;
color: black;
font-family: consolas, «Courier New», courier, monospace;
background-color: #ffffff;
/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt
{
background-color: #f4f4f4;
width: 100%;
margin: 0em;
}
.csharpcode .lnum { color: #606060; }
1: <?xml version="1.0" encoding="utf-8" ?>
2: <!--Created:cb85b80c-f585-40ff-8bfc-12ff4d0e34a9-->
3: <App xmlns="http://schemas.microsoft.com/sharepoint/2012/app/manifest"
4: Name="SPRemoteEventReceiverApp"
5: ProductID="{f8f39e90-7b8b-4f23-b1ca-ae72aefe9195}"
7: SharePointMinVersion="15.0.0.0">
9: <Title>SP Remote Event Receiver App</Title>
10: <StartPage>~appWebUrl/Pages/Default.aspx?{StandardTokens}</StartPage>
14: <!--<AutoDeployedWebApplication />
.csharpcode, .csharpcode pre
{
font-size: small;
color: black;
font-family: consolas, «Courier New», courier, monospace;
background-color: #ffffff;
/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt
{
background-color: #f4f4f4;
width: 100%;
margin: 0em;
}
.csharpcode .lnum { color: #606060; }

Finalmente, si queremos desplegar la aplicación con el manejador de eventos remoto en SharePoint Online, tenemos que descomentar lo que se ha comentado en los archivos “web.config” y manifiesto de la aplicación.