Maison >développement back-end >C++ >Comment se moquer de HttpContext.Current dans une méthode de test d'initialisation ?
Puisque HttpContextBase hérite de ControllerContext et que HttpContext hérite de la bibliothèque de classes de base, se moquer de HttpContext.Current dans la méthode Init rencontrera des conflits d'héritage.
Alternatives utilisant HttpContext
Heureusement, on peut se moquer directement du HttpContext, ce qui suffit pour faire fonctionner IPrincipal (User) et 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>
Ce code garantit que le HttpContext est simulé dans votre contrôleur et dans toutes les bibliothèques appelées dans la méthode Init.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!