I’m answering my own question.
I tried adding following in my web.config
<system.serviceModel>
<serviceHostingEnvironment aspNetCompatibilityEnabled="true" />
</system.serviceModel>
Also decorated my Service with following attribute
[AspNetCompatibilityRequirements(RequirementsMode = AspNetCompatibilityRequirementsMode.Required)]
public class CalculatorService : ICalculatorSession
{
// Implement calculator service methods
}
Still no use.
Then I got the solution here by which you can use Elmah without HTTPContext. i.e. log errors by writing
Elmah.ErrorLog.GetDefault(null).Log(new Error(ex));
instead of
Elmah.ErrorSignal.FromCurrentContext().Raise(error);