/// <summary>
        /// Create a ServiceHost with accompanying creation data.
        /// </summary>
        /// <typeparam name="TService">Type of WCF Service to create.</typeparam>
        /// <param name="func">Function creating an instance of the ServiceHost type with accompanying creation data.</param>
        /// <param name="serviceType">Type of WCF Service to be hosted.</param>
        /// <param name="baseAddresses">Base addresses for WCF ServiceHost endpoints.</param>
        /// <returns>Created ServiceHost with accompanying creation data.</returns>
        static public ServiceHostCreationData CreateWithData <TService>(Func <WCFServiceCreationData <TService> > func,
                                                                        Type serviceType, params Uri[] baseAddresses)
        {
            // Get the host creation function and creation data.
            WCFServiceCreationData <TService> hostdata = func();
            // Instantiate the host.
            DbusServiceHost host = DbusServiceHost.Create(hostdata.func, serviceType, baseAddresses);
            // Package up the data.
            ServiceHostCreationData hostcreation = new ServiceHostCreationData(host, hostdata.CreationParams);

            return(hostcreation);
        }
Beispiel #2
0
 /// <summary>
 /// Accessor for host.
 /// </summary>
 /// <param name="data">Data to extract ServiceHost instance from.</param>
 /// <returns>Created ServiceHost instance.</returns>
 static public ServiceHost DataToHost(ServiceHostCreationData data)
 {
     return(data.Host);
 }
 /// <summary>
 /// Accessor for host.
 /// </summary>
 /// <param name="data">Data to extract ServiceHost instance from.</param>
 /// <returns>Created ServiceHost instance.</returns>
 public static ServiceHost DataToHost(ServiceHostCreationData data)
 {
     return data.Host;
 }