我对这个问题快疯了:我写了这个代码:
[ServiceContract]
public interface Idata
{
[WebInvoke(Method = "POST", UriTemplate = "getwinelist", BodyStyle = WebMessageBodyStyle.Bare, ResponseFormat = WebMessageFormat.Json)]
[OperationContract]
List<Wine> GetWineList();
}
在我的web.config文件中,我有这个:
<services>
<service name="WineFid.data">
<endpoint binding="webHttpBinding" contract="WineFid.Idata" behaviorConfiguration="webBehaviour" />
</service>
</services>
我的行为:
<endpointBehaviors>
<behavior name="webBehaviour">
<dataContractSerializer maxItemsInObjectGraph="2147483646" />
</behavior>
</endpointBehaviors>
如果我指向https://host.mydomain.net/main.svc它运行得很好,并向我展示了用于web服务的经典Microsoft页面,但当我指出方法时:
https://host.mydomain.net/main.svc/getwinelist
服务器响应为"找不到404资源……"我的错误在哪里?请注意,该服务托管在Azure 上
提前感谢!
我对azure一无所知。以下是我认为可能是找不到资源错误的原因,请尝试在标记<endpointBehaviors>
下的行下添加,如果这有帮助,请尝试。
<webHttp helpEnabled="true" automaticFormatSelectionEnabled="true"/>
我找到了解决方案。。。。喝了几升咖啡和口服药!!!
该问题是由https协议引起的。。。
所以添加就足够了
<security mode="Transport" />
节点内部
<webHttpBinding>
<binding>
<security mode="Transport" />
Fiuuuuu。。。。感谢大家的关注!