diff --git a/RdlEngine/Definition/ReportParameter.cs b/RdlEngine/Definition/ReportParameter.cs
index 8a25048c..41b869bf 100644
--- a/RdlEngine/Definition/ReportParameter.cs
+++ b/RdlEngine/Definition/ReportParameter.cs
@@ -495,10 +495,16 @@ private object GetDataValueFromDisplay(object dvalue)
///
/// The runtime value of the parameter.
+ /// Prefer using GetValueAsync() to avoid synchronous blocking on an async call.
///
public object Value
{
- get { return _rp.GetRuntimeValue(this._rpt); }
+ get
+ {
+ // HACK: async - synchronous wrapper needed for property getter;
+ // use GetValueAsync() when an async context is available.
+ return Task.Run(async () => await _rp.GetRuntimeValue(this._rpt)).GetAwaiter().GetResult();
+ }
set
{
if (this.MultiValue && value is string)
@@ -513,6 +519,15 @@ public object Value
}
}
+ ///
+ /// Asynchronously gets the runtime value of the parameter.
+ /// Prefer this over the synchronous Value getter when an async context is available.
+ ///
+ public async Task