2017-06-27 10 views
3
public string GetCartId(HttpContextBase context) 
    { 
     if (context.Session[CartSessionKey] == null) 
     { 
      if (!string.IsNullOrWhiteSpace(context.User.Identity.Name)) 
      { 
       context.Session[CartSessionKey] = 
        context.User.Identity.Name; 
      } 
      else 
      { 
       // Generate a new random GUID using System.Guid class 
       Guid tempCartId = Guid.NewGuid(); 
       // Send tempCartId back to client as a cookie 
       context.Session[CartSessionKey] = tempCartId.ToString(); 
      } 
     } 
     return context.Session[CartSessionKey].ToString(); 

asp.netコアのHttpContextBaseでの回避に関する助け?私のサンプルコードはショッピングカートの作成に取り組んでいます。HttpContextBase名前空間を見つけることができませんでした

+0

あなたはHttpContextBase abstractContext =新しいSystem.Web.HttpContextWrapper(コンテキスト)を使用することができます。 Tomato32 @ – Tomato32

+0

ASP.NETコアには、 'System.Web'はもうありません – Tseng

+0

あなたは、コントローラのこの外側をやっていますか? – Coemgen

答えて

4

ASP.NETコアにはHttpContextBaseはありません。 HttpContextは、すでにDefaultHttpContextGitHub参照)で実装されている抽象クラス(here参照)です。ちょうどHttpContextを使用してください。

+0

'公共の文字列GetCartId(のHttpContextコンテキスト) 'これが働いていました。 –

+0

問題が解決された場合はそのまま「未回答」セクションに表示されます – Tseng

関連する問題