Je crois que j'ai mis le doigt sur un truc, mais je comprends pas.
Alors reprenons à la base : page vierge de tout, juste placée en racine sur système de site, donc normalement (si j'ai bien compris le fonctionnement) elle ne va pendre que le web.config et le global.asax.
Dans le global.asax il n'y a que des définitions de variables de session, rien d 'autre. Comme j'en utilise pas dans la page de test, c'est "ignoré".
Dans le web.config j'ai retiré un argument :
1 2
| <membership>
<!--defaultProvider="MemberShipBase"--> |
Je l'ai mis en commentaire pour pas le perdre, au cas où, donc c'est "ignoré", plus de provider par défaut.
Dans ma page de test j'ai mis ça côté HTML :
<asp:CreateUserWizard ID="cuw" runat="server"></asp:CreateUserWizard>
et rien d'aute (sauf le le form, le body , ...)
Et en CodeBehind j'ai mis ça :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
|
Partial Class test
Inherits System.Web.UI.Page
Protected Sub Page_Init(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Init
With cuw
.MembershipProvider = "MemberShipHashed"
With .MailDefinition
.From = "erick@ozouf.com"
.IsBodyHtml = True
.Subject = "test inscription"
.BodyFileName = "~/Mail/BaseMail.txt"
End With
End With
End Sub
Protected Sub cuw_SendingMail(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.MailMessageEventArgs) Handles cuw.SendingMail
Dim user As MembershipUser = Membership.GetUser((TryCast(sender, CreateUserWizard)).UserName)
e.Message.Body = e.Message.Body.Replace("##corpsmail##", user.ProviderUserKey.ToString)
End Sub
End Class |
Et là j'ai une nouvelle erreur que je en comprends pas mais j'ai un fort doute :
Generating user instances in SQL Server is disabled. Use sp_configure 'user instances enabled' to generate user instances.
Elle intervient sur la ligne du Dim User.
Sauf que là il me crée une nouvelle application dans la table, certainement parce qu'il n'a pas la définition de l'application Name et ensuite, lorsqu'il arrive dans le SendingMail il ne retrouve pas cette application parce qu'il doit perdre son Provider, vu qu'il en a pas par défaut.
Et du coup, le gamin il est perdu et il va à la caisse centrale et dans le micro on entend : "le petit Contrôle cherche son Provider" !!!
Mais je ne comprend pas (outre que ce soit en anglais) ce qu'implique ce message d'erreur.
Vois tu ?
Partager