2009-04-19 6 views
0

Les instances d'exception statique sont-elles sécurisées? Toute bonne raison d'éviter ce qui suit?Instance d'exception statique

public class ResourceHttpHandler : IHttpHandler 
{ 
    private static HttpException notFoundException = 
       new HttpException(
        (int)HttpStatusCode.NotFound, 
        "Assembly Not Found"); 

    public bool IsReusable 
    { 
     get { return true; } 
    } 

    public void ProcessRequest(HttpContext context) 
    { 
     .... 
     throw notFoundException; 
     .... 
    } 
} 

Répondre

8

de stacktrace de Une exception est réglée quand il est jeté (http://msdn.microsoft.com/en-us/library/system.exception.stacktrace.aspx), de sorte que ce code est pas thread-safe.

Plusieurs threads utiliseront le même objet d'exception et quiconque se fie au contenu de l'exception obtiendra des résultats confus.

+0

Merci, j'étais sûr qu'il y avait quelque chose de mal, je ne pouvais pas savoir ce que :) – Diadistis

Questions connexes