c# - 您如何在 WCF ServiceAuthorizationManager 中模拟 IContextChannel?

标签 c# wcf unit-testing moq

我正在尝试为自定义 ServiceAuthorizationManager 编写单元测试。对 CheckAccessCore 的调用将 OperationContext 作为参数。要实例化 OperationContext,必须将 IContextChannel 传递给构造函数。使用 MOQ,我声明了一个 IContextChannel:

private OperationContext _context;
private Mock<IContextChannel> _contextChannelMock;

然后我尝试创建 OperationContext:

_context = new OperationContext(_contextChannelMock.Object);

但是这一行抛出异常:

Result Message: Initialization method Urs.EnterpriseServices.Providers.Tests.UrsServiceAuthorizationManager_Tests.SetUp threw exception. System.InvalidOperationException: System.InvalidOperationException: Invalid IContextChannel passed to OperationContext. Must be either a server dispatching channel or a client proxy channel..

如何模拟服务器调度 channel ?

最佳答案

你不能直接。查看是否 WCFMock会有帮助。

关于c# - 您如何在 WCF ServiceAuthorizationManager 中模拟 IContextChannel?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16285332/

相关文章:

ruby-on-rails - 为什么我的 Rails Controller 测试没有路由?

javascript - angular2单元测试中按标签名统计子组件数量

c# - 从 Compact .Net 1.0 应用程序启动另一个应用程序

c# - 绑定(bind) UI 元素不通过 Itemsource 中的更改值刷新

c# - 无法将类型为 'MongoDB.Bson.Serialization.Serializers.DateTimeSerializer' 的对象转换为类型 'MongoDB.Bson.Serialization.IBsonSerializer`

javascript - Breeze.js 普通的旧 SQL

linq - 墨清 Entity Framework 6.Include()使用DbSet<>

c# - LINQ 或 foreach - 风格/可读性和速度

c# - 无法调试 wcf-windows 服务

c# - ClientBase 没有实现 IDisposable 成员