2012-05-05 2 views
1

나는 WCF의 웹 서비스를 호스트하기 위해 노력하고 있습니다에서 호스팅되는 WCF 웹 서비스를 확인할 수 없습니다 (404)서비스는 로컬 호스트 만하면 빌드 및 appharbor에서 호스팅 때 예상대로 응답, 그것은 단지 반환 appharbor.com에서 appharbor

서비스는 콘솔 응용 프로그램에서 실행되는 :

namespace Service.Host 
{ 
    class Program 
    { 

     static void Main(string[] args) 
     { 

      var host = new ServiceHost<AchievementService>(); 

      host.Open(); 

      Console.WriteLine("AchievementService is running...\nPush any key to terminate."); 
      Console.ReadLine(); 

      host.Close(); 
     } 
    } 
} 

을의 app.config는 다음과 같이보고한다 :

<?xml version="1.0"?> 
<configuration> 
    <system.serviceModel> 
    <serviceHostingEnvironment multipleSiteBindingsEnabled="true" /> 
    <services> 
     <service name="Service.Main.AchievementService"> 
     <host> 
      <baseAddresses> 
      <add baseAddress="http://achiever.apphb.com"/> 
      <!--<add baseAddress="http://localhost"/>--> 
      </baseAddresses> 
     </host> 
     <endpoint address="AchievementService/" 
        behaviorConfiguration="RestBehavior" 
        binding="webHttpBinding" 
        contract="Service.Main.Contracts.IAchievementService"/> 
     <endpoint address="mex" 
        binding="mexHttpBinding" 
        contract="IMetadataExchange" /> 
     </service> 
    </services> 

    <behaviors> 
     <endpointBehaviors> 
     <behavior name="RestBehavior"> 
      <webHttp helpEnabled="true" /> 
     </behavior> 
     </endpointBehaviors> 
     <serviceBehaviors> 
     <behavior name=""> 
      <serviceMetadata httpGetEnabled="true" /> 
      <serviceDebug includeExceptionDetailInFaults="true" /> 
     </behavior> 
     </serviceBehaviors> 
    </behaviors> 

    </system.serviceModel> 
    <startup> 
    <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0"/> 
    </startup> 
    <system.webServer> 
    <modules runAllManagedModulesForAllRequests="true" /> 
    </system.webServer> 
</configuration> 

"http : // localhost"값이 포함 된 baseaddress를 사용하면 get webservice에서 get 메서드, 메타 데이터, 도움말 등을 액세스 할 수 있습니다. 내가 achiever.apphb.com로 변경하고 빌드 때, 나는 단지 내가 시도하는 주소의 다양한 구성이다 http://achiever.apphb.com/AchievementService/ 또는 http://achiever.apphb.com/

에서 (404)를 수신, 나는 같은 결과 appharbor에서 사례 localhost를 시도했습니다. 또한 예제를 검색했지만이 문제로 나를 도울 수있는 것을 찾지 못했습니다.

이 서비스는 배포 및 appharbor에서 메모와 함께, 모든 테스트가 포함되지 않습니다

5/5/12 6:02 PM: Received notification, queuing build 
5/5/12 6:02 PM: Downloading source 
5/5/12 6:02 PM: Downloaded source in 0.27 seconds 
5/5/12 6:02 PM: Starting build 
5/5/12 6:02 PM: 0 warnings 
5/5/12 6:02 PM: Build completed in 1.57 seconds Details 
5/5/12 6:02 PM: Starting website precompilation 
5/5/12 6:02 PM: Precompilation completed 
5/5/12 6:02 PM: Starting tests 
5/5/12 6:02 PM: Tests completed in 2.39 seconds 
5/5/12 6:02 PM: Build successfully deployed 
Tests 

Build contains no tests 
+0

빌드가 성공 했습니까? –

+0

예,이를 반영하도록 질문을 업데이트했습니다. 좋은 점 – AndreasPK

+0

내가 할 수있는 유일한 것은 WCF 호스트에 적절한 끝점이 구성되어 있지 않다는 것입니다. 나는 당신이'app.config'을 가지고 있다는 것을 알고있다. 그러나 그것이 그 호스트를위한 올바른 것을 의미하지는 않는다. –

답변

0

빌드 상태 및 테스트를 확인하시기 바랍니다. 테스트 중 하나가 실패하면 프로젝트를 배포 할 수 없습니다.

+0

빌드에 테스트가 포함되어 있지 않으며 배포되어 있으므로 오류가 다른 곳에 있다고 보입니다. – AndreasPK