Bonjour,
Alors je voudrais faire une Provider-Hosted-App,
j'ai donc dans ma solution un projet SharePoint App et une projet Web From.
Quand je publie mon projet Web Form sur Azure à l'adresse suivante : https://sharepoint*****.azurewebsite...s/Default.aspx j'obtiens l'erreur suivante :
An error occurred while processing your request.
Cette erreur viens de cette fonction qui se trouve dans le default.aspx
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
| protected void Page_PreInit(object sender, EventArgs e)
{
Uri redirectUrl;
switch (SharePointContextProvider.CheckRedirectionStatus(Context, out redirectUrl))
{
case RedirectionStatus.Ok:
return;
case RedirectionStatus.ShouldRedirect:
Response.Redirect(redirectUrl.AbsoluteUri, endResponse: true);
break;
case RedirectionStatus.CanNotRedirect:
Response.Write("An error occurred while processing your request.");
Response.End();
break;
}
} |
Je n'ai jamais été très bon en développement Web et encore moins en .Net, mais je comprend que la redirection ne marche pas.
Sur internet il précise de mettre dans le AppManifest.xml cette ligne
<StartPage>https://sharepointchatbot.azurewebsites.net/pages/Default.aspx?{StandardTokens}</StartPage>
t de vérifier qu'elle est bien en HTTPS. Bon alors déjà elle y est, mais je ne vois pas comment le AppManifest qui est dans mon projet SharePoint App pourrai régler un soucie qui se produit visiblement sur le projet Webform. En tous cas ça ne marche pas.
En revanche si dans la page Default.aspx
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
| <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="SharePointAppHelloWorldWeb.Default" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title>Hello</title>
</head>
<body>
<form id="form1" runat="server">
<div>
Hello World
<asp:Label ID="Label1" runat="server" Text="Who?"></asp:Label>
</div>
</form>
</body>
</html> |
je retire la ligne Inherits="SharePointAppHelloWorldWeb.Default"
ça fonctionne. En tous cas ma page s'affiche.
Cependant ça ne fait pas exactement ce que je veux, car dans ma page Default.aspx
j'ai ce code
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
| protected void Page_Load(object sender, EventArgs e)
{
// The following code gets the client context and Title property by using TokenHelper.
// To access other properties, the app may need to request permissions on the host web.
var spContext = SharePointContextProvider.Current.GetSharePointContext(Context);
using (var clientContext = spContext.CreateUserClientContextForSPHost())
{
clientContext.Load(clientContext.Web, web => web.Title);
clientContext.ExecuteQuery();
Response.Write(clientContext.Web.Title);
Microsoft.SharePoint.Client.User spUser = clientContext.Web.CurrentUser;
clientContext.Load(spUser, user => user.Title);
clientContext.ExecuteQuery();
Label1.Text = spUser.Title;
}
} |
Et la je m'attend à ce qu'au chargement de la page mon label change avec le nom de l'utilisateur connecter qui lance l'app. Ca ne semble pas être le cas.
Alors pourquoi j'ai une erreur "An error occurred while processing your request." causé apparemment par "Inherits="SharePointAppHelloWorldWeb.Default"" ?
Et pourquoi mon page_load ne semble pas fonctionner ?
Merci de votre aide.
Pour information. J'ai suivis c'est 2 article pour faire ma première app
- https://blogs.msdn.microsoft.com/ste...-azure-part-1/
- https://blogs.msdn.microsoft.com/ste...epoint-part-2/
Partager