У меня есть следующий код:
Public Class xxxSvcHostFactory
Inherits ServiceHostFactory
Protected Overrides Function CreateServiceHost(ByVal serviceType As Type, ByVal baseAddresses As Uri()) As ServiceHost
Dim result As New WebServiceHost2(serviceType, True, baseAddresses)
Return result
End Function
End Class
Договор на обслуживание определяется следующим образом:
<ServiceContract()>
Public Interface IxxxSvc
<Description("")>
<OperationContract()>
<WebGet(ResponseFormat:=WebMessageFormat.Json,
UriTemplate:="CustomerDetails?id={CustomerId}")>
Function GetCustomerDetails(ByVal CustomerId As String) As Customer
End Interface
Public Class MySvc
Implements IxxxSvc
Public Function GetCustomerDetails(ByVal CustomerId As String) As Customer Implements IxxxSvc.GetCustomerDetails
.
.
.
End Function
End Class
Когда будет выполнен CreateServiceHost?
Это для каждого вызова, или для каждого транспортного сеанса, или когда приложение запускается?
Когда истекает срок действия ServiceHost?
Если я реализую статическую переменную, она доступна через несколько сеансов (скажем, из IE и Firefox). Как я могу поддерживать статическую переменную для определенного сеанса (скажем, если я получаю доступ из IE, тот же сеанс не должен использоваться совместно, когда я получаю доступ из FF).
Я использую функцию WCF REST в своем приложении (основной REST, а не REST Starter kit).
спасибо