[英]Constructor called with every method call WCF HTTPS
我有一個奇怪的問題(或者可能只是對我來說很奇怪)
我有一個由wsHttpBinding托管的WCF WebSrvice。 (HTTP)
一切都很好。
我切換到basicHttpBinding是因為我想從PHP訪問它。 我還使服務成為HTTPS,因此現在通過HTTPS實現了basicHttpBinding。
該服務運行正常(幾乎按預期運行),方法也按預期運行。
但是,我注意到,在最后的配置(wsHttpBinding,HTTP)中,當客戶端用於調用第一個方法時,我的服務構造函數曾用於調用此方法,然后對於其他所有方法,它從未調用過。 (這很好,因為我正在構造函數中執行一些代碼,所以我只想在客戶端開始使用該服務時運行一次)
但是在新配置(basicHttpBinding,HTTPS)中,構造函數將為每個執行的方法調用。
這是正常現象,還是我做錯了什么? 如果正常,那么首先,對於每個會話(客戶端)要運行一次的代碼,我應該怎么做。 如果有時間,為什么會這樣,那么HTTP行為和HTTPS會有所不同? (或者是由於綁定的不同?)
謝謝。
WCF服務的默認InstanceContextMode
是PerSession
,您所使用的綁定在HTTP上支持此模式。 然而,HTTPS防止此默認發生sessioning的行為,所以你看到PerCall
行為(這將每次建立一個新的服務對象。)請參閱本約的方式來糾正這一職務。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.