我在控制台应用程序中有一个自托管的wcf服务,当我使用visual studio调试器时它正常工作,因为当我点击 F5 时它会自动托管服务,但是当我打开服务器时.exe
服务无法开始提供 EndPointNotFound exception
,然后将其作为 IIS 服务实施,我需要让控制台工作才能呈现它到我的毕业考试
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.ServiceModel;
using BriscolaWCFdefLib;
namespace BriscolaWCFdef_Server
{
class Program
{
static void Main(string[] args)
{
int control = 2;
while (control == 2) {
ServiceHost svcHost = null;
try
{
Console.Clear();
svcHost = new ServiceHost(typeof(BriscolaWCFdefLib.BriscolaService));
svcHost.Open();
Console.WriteLine("Gioco della briscola hostato su:");
Console.WriteLine();
foreach (var addr in svcHost.BaseAddresses)
Console.WriteLine(" {0}", addr);
Console.WriteLine();
Console.WriteLine();
Console.WriteLine("Premere 1 per terminare il server, 2 per riavviarlo: ");
control = Convert.ToInt32(Console.ReadLine());
svcHost.Close();
}
catch (Exception ex)
{
Console.Error.WriteLine("Impossibile avviare il server: {0}", ex.Message);
Console.ReadKey();
}
}
}
}
}
这是服务器代码,有谁知道如何让我的WCF服务与这个自托管控制台程序一起工作?
编辑:
这是System.Servicemodel
部分<system.serviceModel>
<services>
<service name="BriscolaWCFdefLib.BriscolaService">
<endpoint address="" binding="basicHttpBinding" contract="BriscolaWCFdefLib.IBriscolaService">
<identity>
<dns value="localhost" />
</identity>
</endpoint>
<endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange" />
<host>
<baseAddresses>
<add baseAddress="http://localhost:8733/Design_Time_Addresses/BriscolaWcfLib/BriscolaService/" />
</baseAddresses>
</host>
</service>
</services>
<behaviors>
<serviceBehaviors>
<behavior>
<!-- Per evitare la diffusione di informazioni sui metadati,
impostare i valori seguenti su false prima della distribuzione -->
<serviceMetadata httpGetEnabled="True" httpsGetEnabled="True" />
<!-- Per ricevere i dettagli sull'eccezione per scopi di debug in caso di guasti,
impostare il valore riportato sotto su true. Impostarlo su false prima della diffusione
per evitare di diffondere informazioni sull'eccezione -->
<serviceDebug includeExceptionDetailInFaults="False" />
</behavior>
</serviceBehaviors>
</behaviors>