у меня возникла проблема с noopy, если я запускаю собственную службу WCF (WCF-сервис Lib + консольное приложение) внутри VS, все работает нормально. если я хочу запустить consoleapplication.exe в каталоге проекта, похоже, что все работает нормально, но это не так. (я новичок в С#)
Я тестировал: запустить его от имени администратора (брандмауэр выключен и включен), чтобы зарезервировать мою услугу через http urlacl
Работает нормально означает, что я могу получить доступ к моему сервису удаленно. Не работает нормально означает, что я не могу получить к нему доступ через локальный хост.
Отсутствуют какие-либо зависимости?
Заранее спасибо!
App.config консольного приложения:
<system.serviceModel>
<behaviors>
<serviceBehaviors>
<behavior name="NewBehavior">
<serviceMetadata httpGetEnabled="true" httpsGetEnabled="true"
policyVersion="Default" />
</behavior>
</serviceBehaviors>
</behaviors>
<services>
<service behaviorConfiguration="NewBehavior" name="SampleEmpServiceLib.EmpService">
<clear />
<endpoint address="basic" binding="basicHttpBinding" contract="SampleEmpServiceLib.IEmpService"
listenUriMode="Explicit" />
<endpoint address="http://localhost:8060/EmpS" binding="wsDualHttpBinding" bindingConfiguration=""
contract="SampleEmpServiceLib.IEmpService" listenUriMode="Explicit" />
<endpoint address="net.tcp://localhost:8888/EmpS" binding="netTcpBinding"
contract="SampleEmpServiceLib.IEmpService" listenUriMode="Explicit" />
<endpoint address="net.pipe://localhost/EmpS" binding="netNamedPipeBinding"
contract="SampleEmpServiceLib.IEmpService" listenUriMode="Explicit" />
<endpoint address="mex" binding="mexHttpBinding" bindingConfiguration=""
contract="IMetadataExchange" />
<host>
<baseAddresses>
<add baseAddress="http://localhost:8080/EmpS/" />
</baseAddresses>
</host>
</service>
</services>
</system.serviceModel>
Код программы.cs
using System;
using System.Collections.Generic;
using System.Linq;
using System.ServiceModel;
using System.Text;
using SampleEmpServiceLib;
using System.ServiceModel.Description;
namespace ConsoleApplication
{
class Program
{
static void Main(string[] args)
{
ServiceHost host = new ServiceHost(typeof(EmpService));
host.Open();
Console.WriteLine("running on endpoints:");
foreach (ServiceEndpoint serviceEndpoint in host.Description.Endpoints)
Console.WriteLine(serviceEndpoint.Address.ToString());
Console.WriteLine("running");
Console.ReadLine();
host.Close();
}
}
}