在此服务主机中已实现的约定中找不到约定



我收到标题中提到的错误,不确定我到底做错了什么。我在openSUSE上运行Mono 2.10.6。只有当我尝试浏览到WCF服务(网页加载良好)时,才会出现此问题。

服务代码为:

namespace CyberLane
{
    [ServiceContract]
    public class DataServices// : IDataServices
    {
        [OperationContract]
        public TweetDTO[] GetLatestTweets()
        {
            return MasterRepository.GetTweets().Select(x => new TweetDTO(x)).ToArray();
        }
    }
}

我的Web.config包含以下内容:

<system.serviceModel>
    <behaviors>
        <endpointBehaviors>
            <behavior name="CyberLane.DataServicesAspNetAjaxBehavior">
                 <enableWebScript />
            </behavior>
        </endpointBehaviors>
    </behaviors>
    <serviceHostingEnvironment aspNetCompatibilityEnabled="true" multipleSiteBindingsEnabled="true" />
    <services>
        <service name="CyberLane.DataServices">
            <endpoint address="" behaviorConfiguration="CyberLane.DataServicesAspNetAjaxBehavior" binding="webHttpBinding" contract="CyberLane.DataServices" />
        </service>
    </services>
</system.serviceModel>

如果你需要更多信息,请问我,我会非常乐意分享的!这已经让我发疯好几个星期了。

首先,最佳实践和常见方法是用ServiceModel属性装饰IDataServices(接口),而不是用实现它的类。

相关内容

最新更新