Я пытаюсь создать простую консольную аппликацию, в которой я хотел бы разместить простую службу wcf.Хостинг простой службы Wcf в консоли
Вот код для моего
namespace HostConsoleApplication
{
class Program
{
static void Main(string[] args)
{
using (System.ServiceModel.ServiceHost host = new System.ServiceModel.ServiceHost(typeof(FirstWcfService.Service)))
{
host.Open();
Console.WriteLine("Sai");
Console.ReadLine();
}
}
}
}
Затем я добавил app.config, который выглядит следующим образом:
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<system.serviceModel>
<services>
<service name="FirstWcfService.Service" behaviorConfiguration="ServiceBehavior">
<endpoint address="FirstWcfService" binding="netTcpBinding" contract="FirstWcfService.IService"/>
<endpoint contract="IMetadataExchange" binding="mexHttpBinding" address="mex" />
<host>
<baseAddresses>
<add baseAddress="net.tcp://localhost:9101/"/>
</baseAddresses>
</host>
</service>
</services>
<behaviors>
<serviceBehaviors>
<behavior name="ServiceBehavior" >
<serviceMetadata httpGetEnabled="false" />
</behavior>
</serviceBehaviors>
</behaviors>
</system.serviceModel>
</configuration>
Когда я запустить приложение консоли хост я получаю это исключение:
System.InvalidOperationException was unhandled Сообщение = "Не удалось найти b ase, который соответствует схеме http для конечной точки со связыванием MetadataExchangeHttpBinding. Зарегистрированные схемы базового адреса являются [net.tcp] «
Источник = "System.ServiceModel"
StackTrace:. на System.ServiceModel.ServiceHostBase.MakeAbsoluteUri (Uri relativeOrAbsoluteUri, Связывание связывания, UriSchemeKeyedCollection baseAddresses) на System.ServiceModel.Description.ConfigLoader.LoadServiceDescription (ServiceHostBase хозяина, описание ServiceDescription, ServiceElement serviceElement, Action`1 addBaseAddress) в System.ServiceModel.ServiceHostBase.LoadConfigurationSectionInternal (ConfigLoader configLoader, ServiceDescription описание, ServiceElement serviceSection) на System.ServiceModel.ServiceHostBase.LoadConfigurationSectionInternal (ConfigLoader configLoader, ServiceDescription описание, Строка ConfigurationName) на System.ServiceModel.ServiceHostBase.ApplyConfiguration() в System.ServiceModel.ServiceHostBase .InitializeDescription (UriSchemeKeyedCollection baseAddresses) на System.ServiceModel.ServiceHost.InitializeDescription (Тип ServiceType, UriSchemeKeyedCollection baseAddresses) в System.ServiceModel.ServiceHost..ctor (тип ServiceType, Uri [] baseAddresses) в HostConsoleApplication.Program.Main (String [] арг) в C: \ Documents и Settings \ navin.pathuru \ Мои документы \ Visual Studio 2008 \ Projects \ Solution2 \ HostConsoleApplication \ Program.cs : линия на System.AppDomain._nExecuteAssembly (Монтаж сборки, String [] арг) в System.AppDomain.ExecuteAssembly (строка assemblyFile, фактические данные assemblySecurity, String [] арг) на Microsoft.VisualStudio.HostingProcess. HostProc.RunUsersAssembly() в System.Threading.ThreadHelper.ThreadStart_Context (объект состояние) на System.Threading.ExecutionContext.Run (ExecutionContext ExecutionContext, ContextCallback обратного вызова, объект состояния) в System.Threading.ThreadHelper.ThreadStart() InnerException:
Просто интересно, если, как это исправить. Благодаря N
вам нужно, чтобы подчеркнуть ваши строки кода и XML и использовать кнопку «код» (101 010) из редактора панель инструментов, чтобы получить хорошие результаты - красиво отформатирован и синтаксис выделен! –