2017-02-22 188 views
0

我对WCF服务非常陌生。我用basicHTTPBinding创建了一个基本的WCF服务。下面详细的代码片段:如何使用IP地址从浏览器访问WCF服务基地址?

using MyWCF.DataModel; 
using System; 
using System.Collections.Generic; 

namespace MyWCF 
{  
    public class Service1 : IService1 
    { 
     public List<Employee> GetEmployee() 
     { 
      return new List<Employee> 
      { 
       new Employee{ FirstName = "Md", LastName = "Arefin", City = "Kolkata", Organisation = "TCS", Experience = 3 }, 
       new Employee{ FirstName = "Tuhin", LastName = "Som", City = "Kolkata", Organisation = "TCS", Experience = 9 }, 
       new Employee{ FirstName = "Avik", LastName = "Chattaraj", City = "Kolkata", Organisation = "TCS", Experience = 2 } 
      }; 
     } 
    } 
} 


using MyWCF.DataModel; 
using System.Collections.Generic; 
using System.ServiceModel; 

namespace MyWCF 
{  
    [ServiceContract] 
    public interface IService1 
    { 
     [OperationContract] 
     List<Employee> GetEmployee(); 
    }  
} 


using System.Runtime.Serialization; 

namespace MyWCF.DataModel 
{ 
    [DataContract] 
    public class Employee 
    { 
     [DataMember] 
     public string FirstName { get; set; } 
     [DataMember] 
     public string LastName { get; set; } 
     [DataMember] 
     public string City { get; set; } 
     [DataMember] 
     public string Organisation { get; set; } 
     [DataMember] 
     public int Experience { get; set; } 
    } 
} 



<?xml version="1.0" encoding="utf-8" ?> 
<configuration> 

    <appSettings> 
    <add key="aspnet:UseTaskFriendlySynchronizationContext" value="true" /> 
    </appSettings> 
    <system.web> 
    <compilation debug="true" /> 
    </system.web> 
    <system.serviceModel> 
    <services> 
     <service name="MyWCF.Service1"> 
     <host> 
      <baseAddresses> 
      <add baseAddress = "http://localhost:8733/MyWCF/Service1/" /> 
      </baseAddresses> 
     </host>   
     <endpoint address="" binding="basicHttpBinding" contract="MyWCF.IService1">   
      <identity> 
      <dns value="localhost"/> 
      </identity> 
     </endpoint> 
     <endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange"/> 
     </service> 
    </services> 
    <behaviors> 
     <serviceBehaviors> 
     <behavior>   
      <serviceMetadata httpGetEnabled="True" httpsGetEnabled="True"/>   
      <serviceDebug includeExceptionDetailInFaults="False" /> 
     </behavior> 
     </serviceBehaviors> 
    </behaviors> 
    </system.serviceModel> 

</configuration> 

我在Visual Studio运行在发布模式下此应用程序和服务托管,并正确地返回员工详细信息。

但现在我想从同一个域中的不同机器访问服务。每当我用“本地主机”(即http://localhost:8733/MyWCF/Service1/)输入基地址时,它都会在浏览器中打开,但是无论何时我用基地址(即http://10.135.195.39:8733/MyWCF/Service1/)替换本地主机,服务都无法从浏览器访问。

  • 列表项

我试图与IP地址(即 “10.135.195.39:8733”),以改变端点的标识值 “localhost” 的。

  • 列表项目 我试图从端点删除标识部分。

但没有任何工作。任何人都可以帮助我吗?

+0

没有防火墙不活跃 –

回答