SharePointCommunity
Die deutschsprachige Community für SharePoint, Microsoft 365, Teams, Yammer und mit Azure

Sponsored by

Willkommen im Forum Archiv.
Einträge sind hier nicht mehr möglich, aber der Bestand von 12 Jahren SharePoint-Wissen ist hier recherchierbar.




Exception bei Aktivierung der weiteren Sprachen

Unbeantwortet Dieser Beitrag hat 2 Antworten

Ohne Rang
47 Beiträge
BenjaminG erstellt 3 Sept. 2014 07:34
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Bei einer Feature Aktivierung habe ich das Problem, dass ich bei diesem Code

public override void FeatureActivated(SPFeatureReceiverProperties oProperties)
{
            #region Init Web

            // Holen der Eigenschaften der aktuellen Seite
            this.oSite = oProperties.Feature.Parent as SPSite;
                       
            // Holen des RootWebs
            this.oWeb = this.oSite.RootWeb;

....

            this.activateLanguage()

}

        private void activateLanguage()
        {
            // Enable MUI.
            this.oWeb.IsMultilingual = true;

            // Add the German language
            CultureInfo culture = new CultureInfo(1031);
            this.oWeb.AddSupportedUICulture(culture);

            this.oWeb.Update();
        }

die folgende Fehlermeldung erhalte:

The web being updated was changed by an external process.<nativehr>0x81020097</nativehr><nativestack></nativestack>

Dieser Fehler tritt immer beim Web.Update() auf. Wenn ich das Web.Update() nicht durchführe, dann funktionert der Code, aber die weitere Sprache ist nicht aktiv.

Habt ihr eine Idee, woran das liegen könnte? Welcher externe Prozess greifft gleichzeitig noch auf das Web-Object zu?

Alle Antworten

Ohne Rang
19231 Beiträge
Andi Fandrich Als Antwort am 3 Sept. 2014 08:19
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Wie aktivierst Du denn das Feature? Über irgendwas externes wie z.B. PowerShell? Ganz normale im Browser sollte es nämlich funktionieren.

Als Workaround kannst Du auch versuchen das Web-Objekt einfach komplett neu zu laden:
using (SPWeb myWeb = oSite.OpenWeb(oWeb.ID)) {
  // hier mit myWeb arbeiten
}

Viele Grüße
Andi
af @ evocom de
Blog
Ohne Rang
47 Beiträge
BenjaminG Als Antwort am 3 Sept. 2014 08:28
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Ich habe gerade eben, selber die Antwort gefunden.

Wenn ich den Aufruf der Funktion activateLanguage() direkt nach dem Holen des Web-Objektes mache, dann funktioniert es einwandfrei. Anscheinend darf dazwischen nichts anderes gemacht werden. Weitere Web.Update() haben auch nichts genutzt. Sehr komisch das Ganze!