Mega Code Archive

 
Categories / C# / Development Class
 

Does WCF Service Exist

//----------------------------------------------------------------------------- // Filename: WCFUtility.cs // // Description: Class to provide utility mehtods for working with WCF.  //  // History: // 23 Feb 2010  Aaron Clauson  Created. // // License:  // This software is licensed under the BSD License http://www.opensource.org/licenses/bsd-license.php // // Copyright (c) 2010 Aaron Clauson (aaron@sipsorcery.com), SIPSorcery Ltd, London, UK (www.sipsorcery.com) // All rights reserved. // // Redistribution and use in source and binary forms, with or without modification, are permitted provided that  // the following conditions are met: // // Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.  // Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following  // disclaimer in the documentation and/or other materials provided with the distribution. Neither the name of Blue Face Ltd.  // nor the names of its contributors may be used to endorse or promote products derived from this software without specific  // prior written permission.  // // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING,  // BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.  // IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY,  // OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA,  // OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,  // OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE  // POSSIBILITY OF SUCH DAMAGE. //----------------------------------------------------------------------------- using System; using System.Collections.Generic; using System.Configuration; using System.Linq; using System.ServiceModel.Configuration; using System.Text; namespace SIPSorcery.Sys {     public class WCFUtility     {         public static bool DoesWCFServiceExist(string serviceName)         {             ServiceModelSectionGroup serviceModelSectionGroup = ServiceModelSectionGroup.GetSectionGroup(ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None));             foreach (ServiceElement serviceElement in serviceModelSectionGroup.Services.Services)             {                 if (serviceElement.Name == serviceName)                 {                     return true;                 }             }             return false;         }     } }