我遇到了以下问题:
我在位于localhost:72/service的服务器上的控制台应用程序中托管了一个WCF服务。
可以从外部通过mydomain.org:62345/service访问此端口。
如果我现在尝试从(外部)桌面应用程序检索并添加对此服务的服务引用,我会收到一个400:bad请求,因为应用程序尝试从localhost:72/ service ?wsdl而不是mydomain.org:62345/ service ?wsdl检索wsdl。
如何更改我的控制台应用程序以使其正常工作?
提前THX,马丁
static void Main(string[] args)
{
using (ServiceHost sh = new ServiceHost(typeof(MSSQL_MasterToDesktop_Service.Service1), new Uri("http://localhost:72/Service")))
{
sh.AddServiceEndpoint(typeof(MSSQL_MasterToDesktop_Service.ISync), new WSHttpBinding(), "");
//sh.AddServiceEndpoint(typeof(MSSQL_MasterToDesktop_Service.ISync), new WSHttpBinding(),
ServiceMetadataBehavior smb = new ServiceMetadataBehavior();
smb.HttpGetEnabled = true;
sh.Description.Behaviors.Add(smb);
sh.Open();
System.Console.WriteLine("Waiting for connections...");
System.Console.ReadLine();
sh.Close();
}
}发布于 2013-06-13 17:48:59
不要在localhost上托管服务,而是使用系统的LAN卡的IP,或者对所有网络接口使用"0.0.0.0“('*‘或'+’也可以)。
为了从您的LAN外部访问该服务,您可能需要在您的路由器中设置一些端口转发。
https://stackoverflow.com/questions/17083707
复制相似问题