【问题标题】:WCF Service DataServiceConfiguration namespace conflictWCF 服务 DataServiceConfiguration 命名空间冲突
【发布时间】: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 无法识别。 如何解决?

【问题讨论】:

    标签: c# wcf service


    【解决方案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)会发生什么?
    • 我试过了,还是说有冲突!和以前一样的错误
    猜你喜欢
    • 2010-09-20
    • 2012-02-06
    • 1970-01-01
    • 2013-01-26
    • 2010-11-15
    • 2012-12-18
    • 2012-02-06
    • 1970-01-01
    相关资源
    最近更新 更多