WcfInstantFeedbackDataSource无法读取有效的数据服务源

时间:2014-04-24 10:37:33

标签: asp.net mongodb devexpress wcf-data-services

我尝试使用DevExpress 13.2.9(位于Xpf.Core.Extensions中)的WcfInstantFeedbackDataSource和一个数据服务(它的源是MongoDB)。

我打算在ASP.Net页面中使用它,所以我使用了以下代码:

 ctx = new MongoContext(new Uri("http://xxxxx.azurewebsites.net/MongoDataService.svc/"));
      Thread t = new Thread(() =>
      {
        Datas = new WcfInstantFeedbackDataSource()
          {
            KeyExpression = "_id",
            Query = (DataServiceQuery)ctx.test
          };
      });
      t.SetApartmentState(ApartmentState.STA);
      t.Start();

我安装了WCF Data Services 5.6。

我的数据源是有效的AtomXML Feed:

  <?xml version="1.0" encoding="utf-8" ?> 
<feed xml:base="http://xxxxx.azurewebsites.net/MongoDataService.svc/" xmlns="http://www.w3.org/2005/Atom" xmlns:d="http://schemas.microsoft.com/ado/2007/08/dataservices" xmlns:m="http://schemas.microsoft.com/ado/2007/08/dataservices/metadata">
  <id>http://xxxxx.azurewebsites.net/MongoDataService.svc/test</id> 
  <title type="text">test</title> 
  <updated>2014-04-24T09:20:11Z</updated> 
  <link  rel="self" title="test" href="test" /> 
  <entry>
  <id>http://xxxxx.azurewebsites.net/MongoDataService.svc/test('5347cc29fe4c65b466e604f9')</id> 
  <category  term="Mongo.test" scheme="http://schemas.microsoft.com/ado/2007/08/dataservices/scheme" />
  <link  rel="edit" title="test" href="test('5347cc29fe4c65b466e604f9')" /> 
  <title  /> 
  <updated>2014-04-24T09:20:11Z</updated> 
 <author>
  <name  /> 
  </author>
<content type="application/xml">
<m:properties>
  <d:db_id>5347cc29fe4c65b466e604f9</d:db_id> 
  <d:adat>1234</d:adat> 
  </m:properties>
  </content>
  </entry>
  </feed>

在Query调用中,我得到了这个异常:

  

'http://xxxxx.azurewebsites.net/MongoDataService.svc/test'不是   属性'Query'的有效值。

我应该改变什么?

修改

如果我添加这一行:

DataServiceContext = ctx

这里:

 Thread t = new Thread(() =>
          {
            Datas = new WcfInstantFeedbackDataSource()
              {
                DataServiceContext = ctx,
                KeyExpression = "_id",
                Query = (DataServiceQuery)ctx.test
              };
          });
          t.SetApartmentState(ApartmentState.STA);
          t.Start();

我收到此错误:

  

'MongoDataServiceRef.MongoContext'不是属性的有效值   'DataServiceContext'。

奇怪的是,MongoContext是DataServiceContext的后代:

  public partial class MongoContext : global::System.Data.Services.Client.DataServiceContext

有什么想法吗?

1 个答案:

答案 0 :(得分:0)

WcfInstantFeedbackDataSource 不能与 ASPxGridView 一起使用,我必须使用 WcfServerModeSource