我正在使用我的Asp.net应用程序托管WCF Rest服务,并且启用了asp.net兼容模式,它运行正常 当我从visual studio运行应用程序但是当我在IIS7中时,我在访问End Point时收到错误说“已经添加了具有相同密钥的项目”。 我的服务代码是。
[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 有什么建议吗?
答案 0 :(得分:7)
在IIS中高级设置然后启用了协议我关闭了https,它工作正常。