在ASP.NET中使用反射时可能存在并发问题

本文关键字:存在 并发 问题 反射 NET ASP | 更新日期: 2023-09-27 18:29:30

我有一个要求,根据从第三方应用程序以字符串形式传递的类名,我希望获得所有属性及其值,并将它们的值分配给另一个具有相似名称成员的对象。现在我知道在Win-Form应用程序中可以做到这一点而不会有任何问题,但我想知道如果我在ASP.NET应用程序中使用这种方法,会有什么问题——我不太关心性能,而是特别关心并发性(如果可能的话)

我使用的代码如下:

//Just a Sample Code 
Type type = Type.GetType("MyClassName");
var propValue = type.GetProperty("MyProperyName").GetValue(myObject);

任何帮助都将不胜感激。

在ASP.NET中使用反射时可能存在并发问题

如果您正在编写或更改值,则会出现诸如种族条件等并发问题,在这里您只读取属性,这些属性在编译代码时已添加到类型(类型定义、属性定义)表的元数据中。

据我所知,你不可能在运行时更改这个定义,所以只要你的类型和属性值是线程执行的本地值,你所做的事情就是线程安全的。