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

时间:2014-11-07 14:01:40

标签: c# asp.net system.reflection

我有一个要求,基于从第三方应用程序作为字符串传递的类名,我想获取所有属性及其值,并将其值分配给具有相似名称的成员的另一个对象。现在我知道这可以在Win Form应用程序中没有任何问题地完成但是我想知道如果我在ASP.NET应用程序中使用这种方法会有什么问题 - 我不太关心性能但是特别关注并发(如果可能的话)

我使用的代码如下所示:

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

任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:1)

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

只要我知道,你就无法在运行时改变那个定义,所以只要你的类型和propvalues是线程执行的本地,你所做的事情就是线程安全的。