What is the lifecycle of an IIS-hosted (http) WCF service?

前端 未结 3 1456
小鲜肉
小鲜肉 2021-02-02 00:44

I have a dependency injection container setup in my application and I\'m thinking that composing the container every time a WCF service request comes in is going to be inefficie

3条回答
  •  别那么骄傲
    2021-02-02 01:05

    If your InstanceContextMode is PerCall, the service class will be created from scratch for every incoming request, and then disposed of when it's done.

    If your InstanceContextMode is PerSession, the service class will be created and used to service one given client for the duration of the session (or until an "InactivityTimeout" is encountered, or an error occurs).

    If your InstanceContextMode is Single (singleton), the service class will be created when the first request comes in and will stay in memory as long as requests keep coming in, as long as no error occurs and no inactivityTimeout is reached.

    So, there you have it! Of course, the concurrency mode (for PerSession and Single services) will also come into play to make things just a tad more "interesting"

提交回复
热议问题