2010-11-24 8 views
0

チームディスカッションリストのユーザーのアラートを更新しようとすると、このエラーが発生します。 私のコードは次のとおりです。ユーザーのアラートを更新しようとすると「アクセスが拒否されました」

SPUser user = mysite.OpenWeb().CurrentUser; 

    SPSecurity.RunWithElevatedPrivileges(delegate() 
    { 
     SPSite site = new SPSite(mysite.ID); 
     SPWeb myweb = site.OpenWeb(); 

     string id = this.Page.Request.QueryString["RootFolder"].ToString(); 
     string[] rootfolder = id.Split(@"//".ToCharArray()); 
     myweb.AllowUnsafeUpdates = true; 
     SPList mylsit = myweb.Lists["Team Discussion"]; 


     SPListItem item = mylsit.GetItemById(21); 


     SPUser curruser = myweb.EnsureUser(user.LoginName); 
     Response.Write(curruser.LoginName); 

     SPAlert newAlert = user.Alerts.Add(); 
     newAlert.AlertType = SPAlertType.Item; 

     newAlert.Item = item; 

     newAlert.Properties["eventtypeindex"] = "1"; 

     newAlert.AlertFrequency = SPAlertFrequency.Immediate; 

     newAlert.Update(false); 

     myweb.AllowUnsafeUpdates = false; 
    }); 

とalert.update()が実行されているときに私はエラーを取得しています。 「重要!」:

http://msdn.microsoft.com/en-us/library/microsoft.sharepoint.spsecurity.runwithelevatedprivileges.aspx

あなたには、いくつかをやっていると思われる、私はノートを見ることができる唯一のことは、RunWithElevatedPrivileges機能上のMSDNの記事下のセクションで、この

+0

このエラーは修正されましたが、電子メールアラートは機能しません。コードは正常に動作しています。私は、Site Settigs - > User alertsをチェックすることでこれを確認しました。唯一の問題は、電子メールがユーザーに送信されないことです。上記のコードでは、欠落している要素はありますか? – Abhimanyu

+0

私も同じ問題に直面しています。アクセス拒否エラーが発生しています。しかし警告が設定されており、歓迎電子メールはユーザーに送信されません。アプリケーションプールIDユーザーはファーム管理者、サイトコレクション管理者です。それでも同じエラー。どのようにこれを解決しましたか? – James123

答えて

1

に私を助けてください書式の形式であり、ValidateFormDigestを呼び出さなかった可能性がありますか?

+0

が正常に動作しましたが、問題が発生すると、アラートの入力を求めるメッセージが表示されたときにアラートは有効になりますが、電子メールはユーザーに送信されません。何をすべきか? – Abhimanyu

+0

@Abhimanyu:私はそれ以上の問題を助けることはできませんが、もっと注意深いデバッグ経験を持つ人の注意を引くためには別の質問が必要かもしれません。 –

+0

@Abhimanyu - アラートは一切出ますか?ここでトラブルシューティングを行っていない場合http://sharepointalert.info/troubleshooting-sharepoint-alerts/ – Ryan

関連する問題