服务方法调用两次

时间:2014-02-09 14:43:35

标签: .net wcf entity-framework rest wcf-data-services

我使用wcf创建了一个休息服务。 我正在服务方法中编写实体框架代码以从数据库中获取数据。

来自浏览器的每次调用都会两次或三次命中服务方法。 我发现方法中没有例外。我之前遇到过同样的问题,并解决了将DataContract属性添加到所有模型中的问题(现在没有帮助)。

可能的原因是什么?请帮忙。

此致 阿希什

2 个答案:

答案 0 :(得分:3)

跟踪Web服务是要从头开始的。

1.-将以下内容添加到WCF项目中的web.config:

<system.diagnostics>
<trace autoflush="true">
</trace>
<sources>
    <source name="System.ServiceModel"
            switchValue="Information, ActivityTracing"
            propagateActivity="true">
        <listeners>
            <add name="sdt"
                 type="System.Diagnostics.XmlWriterTraceListener"
                 initializeData="WcfDetailTrace.e2e" />
        </listeners>
    </source>
</sources>

然后执行您的服务并检查文件的内容&#34; WcfDetaiTrace.e2e&#34;在项目文件夹中,它是一个XML文件。这样您就可以轻松找到您的服务有什么问题。主要问题与:

有关
  1. 缺少DataContracts / KnownTypes
  2. DateTime序列化异常(溢出)
  3. 使用错误的动词来访问REST条目(GET但应该是POST,PUT或DELETE)
  4. 希望它有所帮助。

答案 1 :(得分:1)

有时序列化数据合同有错误,这就是为什么它两次调用相同的方法。请检查您的数据合同类是否有重复的属性或任何其他问题。