I have a personalization criteria "DiscountIsActivatedCriterion" within this i have a parameterless constructer and the EPiServer IsMatch method.
I need to apply a dependency injection inside the parameterless construtor. However EPiserver does not allow that.
How do I go along about that?
You can use the ServiceLocator directly to get the instance you require:
var myService = ServiceLocator.Current.GetInstance<IService>();
See this for more information: