2011-09-24 2 views
4

저는 WCF를 처음 사용합니다. 간단한 자체 호스팅 서비스를 만들고 app.config을 추가했지만 브라우저에 주소를 입력하면 서비스를 만들 때받는 서비스 페이지가 표시되지 않습니다. http://localhost:8067/WCFService 서비스를 실행할 때 표시되는대로 서비스를 표시하지 않습니다.브라우저에 url을 입력하면 자체 호스팅 WCF 서비스가 작동하지 않습니까?

그러나 public static void main 대신 app.config에 기본 서비스를 추가하려고하면 잘 작동하지 않습니다. 아무도 나를 도울 수 있습니까?

<configuration>  
    <system.serviceModel>  
     <services>  
     <service name="SelfHostedWCFService.WCFService">  
      <endpoint 
       address="http://localhost:8067/WCFService" 
       binding="wsHttpBinding" 
       contract="SelfHostedWCFService.IWCFService">  
      </endpoint>  
     </service>  
     </services>  
    </system.serviceModel>  
</configuration> 

다음은 Program.cs입니다 :

namespace SelfHostedWCFService  
{  
    [ServiceContract]  
    interface IWCFService  
    {  
     [OperationContract]  
     int Add(int a, int b);  
     [OperationContract]  
     int Sub(int a, int b);  
     [OperationContract]  
     int Mul(int a, int b); 
    }  
} 

다음은 service.cs입니다 :

static void Main(string[] args)  
{  
    ServiceHost host = new ServiceHost(typeof(SelfHostedWCFService.WCFService)); 
    host.Open();  
    Console.WriteLine("Server is Running...............");  
    Console.ReadLine(); 
} 

에 따라 수동으로 추가 인터페이스 파일 다음

수동으로 추가 app.config 파일입니다 수동으로 파일을 dded :

namespace SelfHostedWCFService 
{  
    class WCFService:IWCFService  
    {  
     public int Add(int a, int b) { return (a + b); }  
     public int Sub(int a, int b) { return (a - b); }  
     public int Mul(int a, int b) { return (a * b); } 
    }  
} 

app.config 또는 다른 개념에 뭔가 문제인가?

답변

2

모든 것이보기 좋게 보입니다. 서비스가 실행되고 있지 않습니까 ?? ,

그래서 나는 당신의 서비스에 서비스 메타 데이터 게시를 추가하는 것이 좋습니다 것입니다 .... 모든 메타 데이터를 게시하지 않고

, 당신은 WCF Test Client를 사용하여 서비스를 테스트 할 수 없으며 이에 대한 클라이언트 측 프록시를 생성 할 수 있습니다 그렇게함으로써 여러분의 코드를 테스트 할 수 있었고 완벽하게 작동합니다.

가, 메타 데이터를 추가로 설정을 변경하려면 : 단지를 사용 - -하지만 서비스 및 실행 URL에 대한 탐색 경우에도이 설정으로

<configuration>  
    <system.serviceModel>  
     <behaviors> 
      <serviceBehaviors> 
      <behavior name="Metadata"> 
       <serviceMetadata /> 
      </behavior> 
      </serviceBehaviors> 
     </behaviors> 
     <services>  
     <service name="SelfHostedWCFService.WCFService" behaviorConfiguration="Metadata">  
      <endpoint 
       address="http://localhost:8067/WCFService" 
       binding="wsHttpBinding" 
       contract="SelfHostedWCFService.IWCFService" />  
      <endpoint address="http://localhost:8067/WCFService/mex" 
         binding="mexHttpBinding" contract="IMetadataExchange" />  
     </service>  
     </services>  
    </system.serviceModel>  
</configuration> 

, 당신은 모든 서비스 페이지가 표시되지 않습니다 WCF Test Client 그리고 직접 확인하십시오!

+0

감사합니다 ..... 메타 데이터 교환 및 기본 주소에 대한 엔드 포인트가 필요합니다. 그것은 일했다!! – Shilpa

관련 문제