簡體   English   中英

休息Wcf服務

[英]Rest Wcf service

我試圖從瀏覽器測試我的Rest Wcf服務。 當我試圖從瀏覽器發送一些值時,我收到以下錯誤。 “由於EndpointDispatcher上的AddressFilter不匹配,無法在接收方處理消息。
檢查發件人和收件人的EndpointAddresses是否一致。“

然后我添加了[ServiceBehavior(AddressFilterMode = AddressFilterMode.Any)]。 然后我得到一個不同的錯誤。

“由於EndpointDispatcher上的ContractFilter不匹配。這可能是由於合同不匹配(發送方和接收方之間的操作不匹配)或發送方與接收方之間的綁定/安全性不匹配。
檢查發送方和接收方是否具有相同的合同和相同的綁定(包括安全要求,例如消息,傳輸,無)。“

我們可以從瀏覽器傳遞值到Rest Wcf服務嗎?

我試圖從瀏覽器傳遞以下值。

http://mywebsite/Service1.svc/mymethod/Firstname,Lastname,LosAngles,CA

這是我的web.confg文件

<system.serviceModel>
    <services>              
      <service behaviorConfiguration="Wcfservice1.ServiceBehavior" name="="Wcfservice1.Service1">
        <endpoint address="" binding="webHttpBinding" contract="Wcfservice1.IService1">
          <identity>
            <dns value="localhost" />
          </identity>
        </endpoint>
        <endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange" />
      </service>
    </services>    
    <behaviors>
      <serviceBehaviors>        
        <behavior name="Wcfservice1.ServiceBehavior">
          <serviceMetadata httpGetEnabled="true" />
          <serviceDebug includeExceptionDetailInFaults="false" />
        </behavior>
      </serviceBehaviors>
    </behaviors>    
  </system.serviceModel>

看起來您沒有在REST端點上啟用<webHttp/>行為。 在配置文件的<behaviors/>元素中添加:

  <endpointBehaviors>
    <behavior name="REST">
      <webHttp />
    </behavior>
  </endpointBehaviors>

然后,像這樣更改<endpoint/>元素:

<endpoint address="" binding="webHttpBinding" behaviorConfiguration="REST" contract="Wcfservice1.IService1">

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM