Ninject WithConstructorArgument: Brak dostępnych pasujących powiązań, a typ nie jest samodzielny

Moje zrozumienie WithConstructorArgument jest prawdopodobnie błędne, ponieważ poniższe nie działa:

Mam usługę, nazwijmy ją MyService, której konstruktor pobiera wiele obiektów i parametr string o nazwie testEmail. Dla tego parametru ciągu dodałem następujące powiązanie Ninject:

string testEmail = "[email protected]";
kernel.Bind<IMyService>().To<MyService>().WithConstructorArgument("testEmail", testEmail);

Jednak podczas wykonywania następującego wiersza kodu otrzymuję wyjątek:

var myService = kernel.Get<MyService>();

Oto wyjątek, który otrzymuję:

Błąd aktywacji łańcucha Brak dostępnych pasujących powiązań, a typ nie jest samodzielny. Ścieżka aktywacji:
2) Wstrzyknięcie łańcucha zależności do parametru testEmail konstruktora typu MyService
1) Wniosek o MyService

Propozycje:
1) Upewnij się, że zdefiniowałeś powiązanie dla łańcucha.
2) Jeśli powiązanie zostało zdefiniowane w module, upewnij się, że moduł został załadowany do jądra.
3) Upewnij się, że nie przypadkowo utworzyłeś więcej niż jedno jądro.
4) Jeśli używasz argumentów konstruktora, upewnij się, że nazwa parametru jest zgodna z nazwą parametru konstruktora.
5) Jeśli używasz automatycznego ładowania modułów, upewnij się, że ścieżka wyszukiwania i filtry są poprawne.

Co ja tu robię źle?

AKTUALIZACJA:

Oto konstruktor MyService:

[Ninject.Inject]
public MyService(IMyRepository myRepository, IMyEventService myEventService, 
                 IUnitOfWork unitOfWork, ILoggingService log,
         IEmailService emailService, IConfigurationManager config,
         HttpContextBase httpContext, string testEmail)
{
    this.myRepository = myRepository;
    this.myEventService = myEventService;
    this.unitOfWork = unitOfWork;
    this.log = log;
    this.emailService = emailService;
    this.config = config;
    this.httpContext = httpContext;
    this.testEmail = testEmail;
}

Mam standardowe powiązania dla wszystkich typów parametrów konstruktora. Tylko „string” nie ma powiązania, a HttpContextBase ma nieco inne powiązanie:

kernel.Bind<HttpContextBase>().ToMethod(context => new HttpContextWrapper(new HttpContext(new MyHttpRequest("", "", "", null, new StringWriter()))));

a MyHttpRequest jest zdefiniowany następująco:

public class MyHttpRequest : SimpleWorkerRequest
{
    public string UserHostAddress;
    public string RawUrl;

    public MyHttpRequest(string appVirtualDir, string appPhysicalDir, string page, string query, TextWriter output)
    : base(appVirtualDir, appPhysicalDir, page, query, output)
    {
        this.UserHostAddress = "127.0.0.1";
        this.RawUrl = null;
    }
}

questionAnswers(2)

yourAnswerToTheQuestion