【问题标题】:How do I implement IDataServiceMetadataProvider and tell my Data Service to use that custom provider?如何实现 IDataServiceMetadataProvider 并告诉我的数据服务使用该自定义提供程序?
【发布时间】:2010-12-12 10:13:34
【问题描述】:

没有明显的入口点可以使用IDataServiceMetadataProvider 为 ADO.NET 数据服务实现自定义提供程序,然后告诉数据服务使用该提供程序。有没有人在这方面有运气?我已经尝试在我的数据源类上实现这个接口,但是没有一个断点被命中。也没有(明显的)方法可以从传递给InitializeService 函数的数据服务的DataServiceConfiguration 参数设置提供程序。

任何帮助将不胜感激。谢谢!

Data Services Providers (ADO.NET Data Services)

IDataServiceMetadataProvider Members

【问题讨论】:

    标签: wcf-data-services visual-studio-2010 astoria .net-4.0-beta-2


    【解决方案1】:

    要添加到 Phani 回复,您需要确保从 GetService 调用返回 IDataServiceMetadataProvider 和 IDataServiceQueryProvider。对于其余接口,您可以选择从 GetService 返回它或在您的 DataSource 类上实现它。

    希望这会有所帮助。

    谢谢 普拉提克

    【讨论】:

      【解决方案2】:

      我们正在考虑为这些 RTM 接口修改一些文档。 同时,要让数据服务运行时获取您的 IDataServiceMetadataProvider 实现,您需要在数据服务类上实现 IServiceProvider 接口。

      IServiceProvider on MSDN

      示例:

      public class northwindService:DataService<northwindContext> , IServiceProvider 
      {
         public object GetService(Type serviceType) 
         {
            if (serviceType == typeof(IDataServiceMetadataProvider )) {
              //return instance of type which implements IDataServiceMetadataProvider 
             }
           return null;
          }  
      }
      

      【讨论】:

      • +1 谢谢!我最终弄清楚了那个部分(使用 .NET Reflector 打开了程序集),并让事情按照我想要的方式工作(最初)。不幸的是,我们决定采用另一条路线(带有 WebGet 和 WebInvoke 属性的数据访问层的 WCF 接口)。感谢您的回复!
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2010-10-26
      • 2018-10-14
      • 1970-01-01
      • 2021-05-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多