2012-10-01 88 views
0

我之前創建了EF Data Services,但每次嘗試創建EF5-WCF服務應用程序時都會收到此消息。爲什麼我在使用WCF服務應用程序時遇到EF5問題?

操作「ProcessRequestForMessage」不能被加載,因爲 它有一個參數或返回 類型System.ServiceModel.Channels.Message或具有 MessageContractAttribute和不同類型的其他參數的類型的類型。當 使用System.ServiceModel.Channels.Message或帶有 MessageContractAttribute的類型時,該方法不得使用任何其他類型的 參數。

  1. 我創建WCF服務應用程序,
  2. 添加引用System.Data.Services
  3. 生成EF型號
  4. 改變了代碼生成策略爲 「默認」,並刪除了」 .TT 「
  5. 繼承DataService < DBEntities>到我的服務級別(Service1)
  6. 添加所需的」InitilizeService「例程
  7. 對web.config沒有任何更改

當我嘗試調試時,我收到消息。我正在使用VS2012

因爲我使用了Data Services,但查看了我的舊VS2010項目,我修改了web.config以包含帶有「System.Data.Services」端點的服務。 IRequestHandler「作爲合同。

我也嘗試了一遍以及更改綁定到「webhttpBinding」這似乎並沒有工作。有任何想法嗎?

如果一切都失敗,我想我可以使用開放存取ORM與它內置的服務生成工具,因爲我可以至少得到那個工作。

問候

克里斯·利奇

回答

2

地址: 廠= 「System.Data.Services.DataServiceHostFactory,Microsoft.Data.Services,版本= 5.0.0.0,文化=中性公鑰= 31bf3856ad364e35」

+1

爲了澄清,這進入SVC文件,而不是CONFIG文件。 – Brannon

0

我有同樣的錯誤,但我注意到我的服務主機標記文件中缺少「Factory」屬性。因此,點擊你的數據服務文件,並選擇「查看標記」,並檢查是否有工廠的屬性,這是正確的:

前:

<%@ ServiceHost Language="C#" Debug="true" 
    Service="ServiceNamespace.ServiceClassName"  
    CodeBehind="ServiceClassName.svc.cs" %> 

後:

<%@ ServiceHost Language="C#" Debug="true" 
    Service="ServiceNamespace.ServiceClassName" 
    Factory="System.ServiceModel.Activation.WebServiceHostFactory, System.ServiceModel.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"  
    CodeBehind="ServiceClassName.svc.cs" %> 
相關問題