Rumah >pembangunan bahagian belakang >C++ >Bagaimana untuk mengejek HttpContext.Current dalam Kaedah Ujian Init?
Memandangkan HttpContextBase mewarisi daripada ControllerContext dan HttpContext mewarisi daripada pustaka kelas asas, mengejek HttpContext.Current dalam kaedah Init akan menghadapi konflik warisan.
Alternatif menggunakan HttpContext
Nasib baik, kami boleh mengejek HttpContext secara langsung, yang cukup untuk mengendalikan IPrincipal (Pengguna) dan IIdentity:
<code class="language-csharp">HttpContext.Current = new HttpContext( new HttpRequest("", "http://tempuri.org", ""), new HttpResponse(new StringWriter()) ); // 用户已登录 HttpContext.Current.User = new GenericPrincipal( new GenericIdentity("username"), new string[0] ); // 用户已注销 HttpContext.Current.User = new GenericPrincipal( new GenericIdentity(String.Empty), new string[0] );</code>
Kod ini memastikan bahawa HttpContext diejek dalam pengawal anda dan dalam mana-mana perpustakaan yang dipanggil dalam kaedah Init.
Atas ialah kandungan terperinci Bagaimana untuk mengejek HttpContext.Current dalam Kaedah Ujian Init?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!