0

私は、非常に基本的なことを試して学ぶために、最も単純な WCF サービスを作成しました。ローカルホストで実行すると、正常に動作しています。しかし、リモート サーバーにデプロイすると、404 が返されます。

構成:

<system.serviceModel> 
  <services> 
    <service name="MarathonInfo.MarathonInfoService"> 
      <endpoint address="http://localhost:10298/MarathonInfoService.svc"
                binding="webHttpBinding"
                contract="MarathonInfo.IMarathonInfo"
                behaviorConfiguration="Web"/> 
    </service> 
  </services> 
  <behaviors> 
    <serviceBehaviors> 
      <behavior> 
        <serviceMetadata httpGetEnabled="true"/> 
        <serviceDebug includeExceptionDetailInFaults="false"/> 
      </behavior> 
    </serviceBehaviors>
    <endpointBehaviors>
      <behavior name="Web">
        <webHttp/>
      </behavior>
    </endpointBehaviors>
  </behaviors> 
  <serviceHostingEnvironment multipleSiteBindingsEnabled="false" /> 
</system.serviceModel> 
 <system.webServer>
    <modules runAllManagedModulesForAllRequests="true"/>
  </system.webServer>
</configuration>

サービスファイル:

namespace MarathonInfo
{
    public class MarathonInfoService : IMarathonInfo
    {
        public String GetData()
        {
            return "Hello World";
        }
    }
}

そしてインターフェースで:

namespace MarathonInfo
{
    [ServiceContract]
    public interface IMarathonInfo
    {

        [OperationContract]
        [WebInvoke(Method = "GET", UriTemplate = "/GetData", RequestFormat = WebMessageFormat.Json, ResponseFormat = WebMessageFormat.Json)]
        String GetData();
    }
}

Google で見つけたものに基づいて、新しいエンドポイントを追加する必要があると確信していますが、それを成功させることができませんでした。リモート URL は次のようになります。

http://www.mydomain.com/service/MarathonInfoService.svc

修正方法はありますか?

ありがとう!

4

1 に答える 1

0

問題は次の行にあります。

address="http://localhost:10298/MarathonInfoService.svc"

サーバーにデプロイするときに、適切な URL に置き換えます。

于 2012-05-26T15:12:25.333 に答える