WCF 服务 DataServiceConfiguration 命名空间冲突

Posted

技术标签:

【中文标题】WCF 服务 DataServiceConfiguration 命名空间冲突【英文标题】:WCF Service DataServiceConfiguration namespace conflict 【发布时间】:2019-04-13 02:29:01 【问题描述】:

我正在尝试创建我的第一个 wcf 服务应用程序。由于实体框架中的错误,我被引导安装包 Microsoft.OData.EntityFrameworkProvider 1.0.0-beta2

在此之后,我有以下服务代码:

using System.Data.Services.Providers;
using System.ServiceModel;
using System.Data.Services;
namespace NorthwindService

    [ServiceBehavior(IncludeExceptionDetailInFaults = true)]
    public class NorthWind : EntityFrameworkDataService<NorthwindEntities>
    
        // This method is called only once to initialize service-wide policies.
        public static void InitializeService(DataServiceConfiguration config)
        

           config.SetEntitySetAccessRule("Orders", EntitySetRights.AllRead
                                          | EntitySetRights.WriteMerge
                                          | EntitySetRights.WriteReplace);
            config.SetEntitySetAccessRule("Order_Details", EntitySetRights.AllRead
                                          | EntitySetRights.AllWrite);
            config.SetEntitySetAccessRule("Customers", EntitySetRights.AllRead);

            config.UseVerboseErrors = true;
            config.DataServiceBehavior.MaxProtocolVersion = DataServiceProtocolVersion.V2;
        
    

但问题是我收到 System.Data.Services 和 Microsoft.Data.Services 之间存在冲突的错误。但是如果我删除第一个并将第二个添加到我的用途中,我会发现 Microsoft.Data.Services 无法识别。 如何解决?

【问题讨论】:

【参考方案1】:

如果您需要区分使用可能来自多个地方的类型,您可以使用类型别名:

using WinTimer = System.Windows.Forms.Timer;
using ThreadTimer = System.Threading.Timer;

如果您有一个存在于Microsoft.DataSystem.Data 中的类型,并且您确实需要两者 - 创建一个类型别名,如上所示。

【讨论】:

问题是如果我选择 Microsoft.Data.Services 那么它说找不到命名空间 Microsoft.Data.Services 和 System.Data.Services 中都存在 DataServiceConfiguration 类型。这就是错误。但是如果要解决这个问题,我会从我的使用中删除 System.Data.Services 并添加 Microsoft.Data.Services,最后一个无法识别,这就是为什么它让我感到困惑 如果你尝试public static void InitializeService(System.Data.Services.DataServiceConfiguration config)会发生什么? 我试过了,还是说有冲突!和以前一样的错误

以上是关于WCF 服务 DataServiceConfiguration 命名空间冲突的主要内容,如果未能解决你的问题,请参考以下文章

WCF 服务证书认证

WCF / WCF 数据服务 / WCF RIA 服务

WCF 一步一步 发布 WCF服务 到 IIS (图)

WCF 服务库和 WCF 服务应用程序之间的区别

WCF 数据服务还是只是 WCF 服务?

WCF - WCF基本概念和简单WCF服务端创建