2015-01-09 3 views
2

Я принимаю службу WCF Rest с моим приложением Asp.net, а режим совместимости asp.net включен, он работает нормально , когда я запускаю приложение из visual studio, но когда я в IIS7 получаю ошибку при доступе к End Point говорит: «Элемент с тем же ключом уже добавлен». MY Service Cod есть.Элемент с тем же ключом уже добавлен. IIS WCF Rest

[ServiceContract] 
    [AspNetCompatibilityRequirements 
    (RequirementsMode = AspNetCompatibilityRequirementsMode.Allowed)] 

    public class RestService 
    { 

     [OperationContract] 
     [WebGet(UriTemplate = "Site/{Id}", BodyStyle = WebMessageBodyStyle.Bare, ResponseFormat = WebMessageFormat.Json)] 
     public Site GetSite(string Id) 
     { 
      return new Site(1); 
     } 
} 

и глобальное ASCX является

protected void Application_Start() 
     { 
      RouteTable.Routes.Add(new ServiceRoute("Rest", new WebServiceHostFactory(), typeof(RestService))); 

     } 

и web.config

 <system.serviceModel> 
    <serviceHostingEnvironment aspNetCompatibilityEnabled="true"/> 

     <standardEndpoints> 
       <webHttpEndpoint> 
        <standardEndpoint name="" helpEnabled="true" automaticFormatSelectionEnabled="false"/> 
       </webHttpEndpoint> 


     </standardEndpoints> 
     </system.serviceModel> 

Примечание Каждые вещи работают нормально в режиме VS2010, но получаю ошибку в то время как хостинг IIS 7 и доступ к http://example.com/rest/site/2 любое предложение Пожалуйста?

ответ

6

В IIS При предварительной настройке, затем Enabledd Протоколы Я отключил https, и он работает нормально. enter image description here

+0

Это выигрышный ответ. Я был уложен по той же неприятной проблеме в течение часа, наткнулся на сообщение Абдуллы и удалил протокол https, и внезапно все сработало отлично. – markaaronky

Смежные вопросы