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.Data
和System.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 命名空间冲突的主要内容,如果未能解决你的问题,请参考以下文章