3 Stimmen

Aktualisierungen sind derzeit bei GET-Anfragen nicht zulässig. Um Aktualisierungen bei einer GET-Anfrage zuzulassen, setzen Sie die Eigenschaft "AllowUnsafeUpdates" auf SPWeb

Ich habe einen versteckten Webpart, der den Query-String-Wert "optout=Yes" liest. Dieses Optout = Ja, dann muss ich die Profileigenschaft aktualisieren. Wenn Sie in meinem Code sehen. Es scheitert an " userprof.Commit() " und das Werfen von " Aktualisierungen sind derzeit bei GET-Anfragen nicht zulässig. Um Aktualisierungen bei einer GET-Anfrage zuzulassen, setzen Sie die Eigenschaft "AllowUnsafeUpdates" auf SPWeb " . Gibt es eine Lösung für dieses Problem?

private void OptOutMemberInvitation()
{

  SPSecurity.RunWithElevatedPrivileges(delegate()
  {

    //update the invitee's Profile property
    UpdateInviteeOptOutProfile(InviteeConstitID);

  });
}
private void UpdateInviteeOptOutProfile(string inviteeSiteColUrl)
{
  ServerContext sc = ServerContext.Current;
  UserProfileManager upm = new UserProfileManager(sc);
  //Get the user profile
  Microsoft.Office.Server.UserProfiles.UserProfile userprof = upm.GetUserProfile(MemberConstitID);
  SPWeb web = userprof.PersonalSite.RootWeb;

  //make sure we can update our list
  web.AllowUnsafeUpdates = true;
  web.Update();
  //Update the OptOut Property on the user's profile.
  userprof["OptOut"].Value = "Yes";
  userprof.Commit(); //Fails here
  //update the list item to persist it to list

  web.AllowUnsafeUpdates = false;
  //siteCol.Close();
  //siteCol.Dispose();
}

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X