2012-08-12 192 views
0

我已閱讀了大部分WCF REST 404帖子,但沒有任何幫助我......WCF REST服務結果404

我已經成功構建了WCF REST服務。但是,現在它正在引發問題。我試着創建一個示例WCF REST服務,並且我無法在不使用.SVC的情況下使其工作。

這是我在我的代碼

[ServiceContract] 
    public interface IService1 
    { 
     [WebGet(UriTemplate="data")] 
     [OperationContract] 
     string GetData(); 
    } 

public class Service1 : IService1 
    { 
     public string GetData() 
     { 
      return "1"; 
     } 
    } 

,這就是我在我的web.config

<configuration> 

    <system.web> 
    <compilation debug="true" targetFramework="4.0" /> 
    </system.web> 
    <system.serviceModel> 
    <services> 
     <service behaviorConfiguration="Default" name="RESTService.Service1"> 
     <endpoint address="http://mydomain:8888/Service1.svc" 
        binding="webHttpBinding" 
        contract="RESTService.IService1" 
        behaviorConfiguration="Web" /> 
     <endpoint contract="IMetadataExchange" binding="mexHttpBinding" address="mex" /> 
     </service> 
    </services> 
    <behaviors> 
     <serviceBehaviors> 
     <behavior name="Default"> 
      <serviceMetadata httpGetEnabled="true" /> 
      <serviceDebug includeExceptionDetailInFaults="true" /> 
     </behavior> 
     </serviceBehaviors> 
     <endpointBehaviors> 
     <behavior name="Web"> 
     <webHttp /> 
     </behavior> 
     </endpointBehaviors> 
    </behaviors> 
    <serviceHostingEnvironment multipleSiteBindingsEnabled="true"/> 
    </system.serviceModel> 
<system.webServer> 
    <modules runAllManagedModulesForAllRequests="true" /> 
    </system.webServer> 

</configuration> 

當我去http://mydomain:8888/data是404任何想法,爲什麼響應它沒有達到GetData()函數?下面的URL工作,如果我刪除的端點地址

http://mydomain:8888/Service1.svc/data 

但是,我想地址是http://mydomain:8888/data

回答

1

你可以嘗試讓你的web配置在您正確使用的版本(與在該SVC路徑)和在應用程序開始在全球ASAX文件添加路由表條目

檢查了這一點更多信息

http://msdn.microsoft.com/en-us/library/cc668177.aspx

+0

在應用程序開始時添加路線的竅門。謝謝 – Mage 2012-08-13 01:16:37