我尝试使用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
有什么想法吗?
答案 0 :(得分:0)
WcfInstantFeedbackDataSource 不能与 ASPxGridView 一起使用,我必须使用 WcfServerModeSource 。