我正在使用我的 Asp.net 应用程序托管 WCF Rest 服务,并且 asp.net 兼容模式已开启,它工作正常
当我从 Visual Studio 运行应用程序但当我在 IIS7 中访问端点时出错,显示“已添加具有相同 key 的项目”。
我的服务鳕鱼是。

  [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
请问有什么建议吗?

最佳答案

在 IIS 下的高级设置然后启用协议(protocol)中,我关闭了 https 并且它工作正常。

关于asp.net - 已添加具有相同键的项目。 IIS WCF 休息,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/27856935/

10-16 13:06