小编use*_*679的帖子

在ASP.NET Web API控制器的nunit测试中实例化新的System.Web.Http.OData.Query.ODataQueryOptions

我有一个ASP.NET MVC4 Web API项目,其中包含一个ApiController继承控制器,它接受一个ODataQueryOptions参数作为其输入之一.

我正在使用NUnit和Moq来测试项目,这允许我从ApiController使用的相关存储库方法设置预设响应.这有效,如:

[TestFixture]
public class ProjectControllerTests
{
    [Test]
    public async Task GetById()
    {
        var repo = new Mock<IManagementQuery>();

        repo.Setup(a => a.GetProjectById(2)).Returns(Task.FromResult<Project>(new Project()
        { 
              ProjectID = 2, ProjectName = "Test project", ProjectClient = 3
        }));

        var controller = new ProjectController(repo.Object);
        var response = await controller.Get(2);

        Assert.AreEqual(response.id, 2);
        Assert.AreEqual(response.name, "Test project");
        Assert.AreEqual(response.clientId, 3);
    }
}
Run Code Online (Sandbox Code Playgroud)

我面临的挑战是,要使用此模式,我需要将相关的查询字符串参数传递给控制器​​以及存储库(这实际上是我的意图).但是,在ODataQueryOptions接受ApiController方法的情况下,即使在我只想使用ODataQueryOptions的默认参数的情况下,我也需要知道如何实例化一个.这变得棘手:

  • ODataQueryOptions没有实现接口,所以我不能直接模拟它.
  • 构造函数需要System.Web.Http.OData.ODataQueryContext的实现,这需要实现Microsoft.Data.Edm.IEdmModel的实现,文档很少,Visual Studio 2012查找引用和视图调用层次结构不提供洞察力(实现该接口的是什么?).

我需要做什么/有更好的方法吗?

谢谢.

nunit moq odata asp.net-web-api

12
推荐指数
1
解决办法
4926
查看次数

.NET 4任务并行库可以使用COM对象吗?

这是"这是可能的,如果是这样,你能给我一个简单的例子,因为我找不到一个在线的吗?" 有点问题.

我有许多完全独立的(即"令人尴尬的并行")进程,我想使用C#在.NET Framework 4中使用任务并行库并行运行.其中一些过程需要使用可通过COM/OLE自动化访问的软件.

具体来说,有一个Parallel.Foreach()循环将任务从项列表中分开,基本上调用Parallel.Foreach中的不同函数来处理处理(因此其中一些函数使用COM库来工作).

这可能吗?谢谢.

c# com ole .net-4.0 task-parallel-library

11
推荐指数
1
解决办法
3970
查看次数

具有许多分区键的Azure表存储表与具有较少分区键的许多表相比如何?

我有一个Windows Azure应用程序,其中TableA的所有读取查询都在一系列rowkeys的单个分区上执行.促进此存储方案的分区键实际上是层次结构中对象的扁平名称,因此分区键的格式为{root}_{child1}_{child2}_{leaf}.我可以理解,通过在表的命名中使用分区键的根维度(将分区键变为{child1}_{child2}_{leaf}),将这个大的TableA划分为多个表可能是有益的.

我想要做的是尽可能快地从尽可能多的连接访问这些数据.如果我能弄清楚这些限制是什么或应该是什么,那也是不可思议的.

关于我提议的更改的更具体问题:

  1. 这是否会对可扩展性产生影响,即可以在不显着改善性能的情况下提供同步数据访问请求的数量?在同一时间服务?
  2. 这会对平均表现产生影响吗?潜在的表现?

partitioning scalability azure azure-table-storage

10
推荐指数
2
解决办法
2435
查看次数