- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个简单的 WCF 数据服务服务,我想公开一个服务操作,如下所示:
[System.ServiceModel.ServiceBehavior(IncludeExceptionDetailInFaults = true)]
public class ProductDataService : DataService<ProductRepository>
{
// This method is called only once to initialize service-wide policies.
public static void InitializeService(IDataServiceConfiguration config)
{
config.SetEntitySetAccessRule("*",
EntitySetRights.ReadMultiple | EntitySetRights.ReadSingle);
config.SetServiceOperationAccessRule("*",
ServiceOperationRights.All);
config.UseVerboseErrors = true;
}
// This operation isn't getting generated client side
[WebGet]
public IQueryable<Product> GetProducts()
{
// Simple example for testing
return (new ProductRepository()).Product;
}
GetProducts
当我在客户端上添加服务引用时,方法是否可见?
最佳答案
终于解决了这个问题。要在数据服务类上调用服务操作,您需要使用数据服务上下文对象的 CreateQuery
或 Execute
方法。例如:
ProductDataService ctx = new ProductDataService(
new Uri("http://localhost:1234/ProductDataService.svc/"));
// Method 1:
DataServiceQuery<Product> q = ctx.CreateQuery<Product>("GetProducts");
List<Product> products = q.Execute().ToList();
// Method 2:
Uri uri = new Uri(String.Format("{0}GetProducts", ctx.BaseUri),
UriKind.RelativeOrAbsolute);
List<Product> products = ctx.Execute<Product>(uri).ToList();
[WebGet]
public IQueryable<Product> GetProducts(string category)
// Method 1:
DataServiceQuery<Product> q = ctx.CreateQuery<Product>("GetProducts")
.AddQueryOption("category", "Boats") ;
List<Product> products = q.Execute().ToList();
// Method 2:
Uri uri = new Uri(String.Format("{0}GetProducts?category={1}",
ctx.BaseUri, "Boats"), UriKind.RelativeOrAbsolute);
List<Product> products = ctx.Execute<Product>(uri).ToList();
关于visual-studio-2008 - 为什么我的 WCF 数据服务客户端代理代码中缺少我的 ServiceOperation 方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2467638/
我有一个简单的 WCF 数据服务服务,我想公开一个服务操作,如下所示: [System.ServiceModel.ServiceBehavior(IncludeExceptionDetailInFau
我只是想知道在 WCF 通信中通过线路发送的数据契约。我知道出于互操作性的考虑,不建议(甚至可能不允许?)将 native .NET 类型作为数据契约的一部分发送。 我希望有一个服务接受 .NET X
是否有任何方法可以创建用于 WCF 服务操作的“模拟”实体类型? 我们有一些查询需要通过公开为 ServiceOperation 来优化。问题是为了这样做我们会得到一个很长的原始类型列表......
我是一名优秀的程序员,十分优秀!