ASP.NET在静态方法中实例化正则表达式和线程安全

菲尔

采取以下作为ASP.NET HttpModule组成部分的类(并据我所知,正则表达式和html,不过我没有选择):

sealed internal class RegexUtility
{
    public static Regex RadioButton { get; private set; }

    static RegexUtility()
    {
       RadioButton = new Regex(@"<input.*type=.?radio.*?>", RegexOptions.Compiled);
    }
}

我担心此代码的线程安全性。由于正则表达式是只读的,我知道一旦将其保存在内存中就不必担心修改。我担心实例化本身,但是我应该将其锁定在构造函数中吗?有根据的猜测表明,以下代码将是线程安全的。我的想法是,两个线程可能会尝试同时实例化它,因此需要锁定。但是,由于这是静态的,并且据我所知,IIS应用程序池中只有一个应用程序实例(对吗?),那么也许这不是我需要担心的事情。

sealed internal class RegexUtility
{
    public static Lazy<Regex> RadioButton { get; private set; }

    static RegexUtility()
    {
        RadioButton = new Lazy<Regex>(() => new Regex(@"<input.*type=.?radio.*?>", RegexOptions.Compiled));
    }
}

有人会为我提供更多知识的亮点吗?

路加

静态构造函数是保证只运行一次,所以你的第一个片段应该罚款。

根据ECMA C#Spec第17.11节

非泛型类的静态构造函数在给定的应用程序域中最多执行一次。泛型类声明的静态构造函数对于从类声明构造的每个封闭构造类型最多执行一次。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

ASP.NET中的正则表达式,用于十进制验证

来自分类Dev

asp.net中的正则表达式仅允许使用单个空格的字符?

来自分类Dev

正则表达式用于ASP.net中的强密码

来自分类Dev

为Asp.Net网站编写正则表达式

来自分类Dev

ASP.NET正则表达式-validationExpression

来自分类Dev

ASP.NET正则表达式编号范围

来自分类Dev

正则表达式Asp.Net MVC

来自分类Dev

使用数据注释和正则表达式的ASP.NET MVC日期验证

来自分类Dev

ASP.NET MVC 6中的属性路由正则表达式约束中的错误

来自分类Dev

ASP .NET中TextBox上的正则表达式验证

来自分类Dev

即使电话号码正确,asp.net中的正则表达式验证也会显示错误消息

来自分类Dev

正则表达式经典ASP

来自分类Dev

asp.net中的正则表达式仅允许使用单个空格的字符?

来自分类Dev

正则表达式验证仅允许在Asp.net中使用字符和空格

来自分类Dev

Fileupload对asp.net中某些文件名的正则表达式验证失败

来自分类Dev

Asp.net对话框中的正则表达式验证器错误

来自分类Dev

ASP.NET正则表达式-validationExpression

来自分类Dev

模型属性ASP.NET MVC4中的自定义正则表达式

来自分类Dev

ASP.NET中的正则表达式验证

来自分类Dev

使用字母和数字在asp.net中创建正则表达式

来自分类Dev

正则表达式以验证ASP.net MVC5中的ApplicationUser电子邮件地址

来自分类Dev

正则表达式不能在asp.net(.aspx页)中工作

来自分类Dev

在ASP.NET MVC中,时间为08:00-21:00的正则表达式?

来自分类Dev

ASP .NET中TextBox上的正则表达式验证

来自分类Dev

使用正则表达式从字符串中获取 ASP.NET C# json 数据

来自分类Dev

用于格式化数字的asp.net c#正则表达式验证器

来自分类Dev

正则表达式:匹配恶意 ASP 会话 ID

来自分类Dev

正则表达式获取asp.net中图片的SRC

来自分类Dev

JMeter 中的 ASP.NET Web 表单的正则表达式提取器失败

Related 相关文章

  1. 1

    ASP.NET中的正则表达式,用于十进制验证

  2. 2

    asp.net中的正则表达式仅允许使用单个空格的字符?

  3. 3

    正则表达式用于ASP.net中的强密码

  4. 4

    为Asp.Net网站编写正则表达式

  5. 5

    ASP.NET正则表达式-validationExpression

  6. 6

    ASP.NET正则表达式编号范围

  7. 7

    正则表达式Asp.Net MVC

  8. 8

    使用数据注释和正则表达式的ASP.NET MVC日期验证

  9. 9

    ASP.NET MVC 6中的属性路由正则表达式约束中的错误

  10. 10

    ASP .NET中TextBox上的正则表达式验证

  11. 11

    即使电话号码正确,asp.net中的正则表达式验证也会显示错误消息

  12. 12

    正则表达式经典ASP

  13. 13

    asp.net中的正则表达式仅允许使用单个空格的字符?

  14. 14

    正则表达式验证仅允许在Asp.net中使用字符和空格

  15. 15

    Fileupload对asp.net中某些文件名的正则表达式验证失败

  16. 16

    Asp.net对话框中的正则表达式验证器错误

  17. 17

    ASP.NET正则表达式-validationExpression

  18. 18

    模型属性ASP.NET MVC4中的自定义正则表达式

  19. 19

    ASP.NET中的正则表达式验证

  20. 20

    使用字母和数字在asp.net中创建正则表达式

  21. 21

    正则表达式以验证ASP.net MVC5中的ApplicationUser电子邮件地址

  22. 22

    正则表达式不能在asp.net(.aspx页)中工作

  23. 23

    在ASP.NET MVC中,时间为08:00-21:00的正则表达式?

  24. 24

    ASP .NET中TextBox上的正则表达式验证

  25. 25

    使用正则表达式从字符串中获取 ASP.NET C# json 数据

  26. 26

    用于格式化数字的asp.net c#正则表达式验证器

  27. 27

    正则表达式:匹配恶意 ASP 会话 ID

  28. 28

    正则表达式获取asp.net中图片的SRC

  29. 29

    JMeter 中的 ASP.NET Web 表单的正则表达式提取器失败

热门标签

归档