我有一个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的默认参数的情况下,我也需要知道如何实例化一个.这变得棘手:
我需要做什么/有更好的方法吗?
谢谢.
这是"这是可能的,如果是这样,你能给我一个简单的例子,因为我找不到一个在线的吗?" 有点问题.
我有许多完全独立的(即"令人尴尬的并行")进程,我想使用C#在.NET Framework 4中使用任务并行库并行运行.其中一些过程需要使用可通过COM/OLE自动化访问的软件.
具体来说,有一个Parallel.Foreach()循环将任务从项列表中分开,基本上调用Parallel.Foreach中的不同函数来处理处理(因此其中一些函数使用COM库来工作).
这可能吗?谢谢.
我有一个Windows Azure应用程序,其中TableA的所有读取查询都在一系列rowkeys的单个分区上执行.促进此存储方案的分区键实际上是层次结构中对象的扁平名称,因此分区键的格式为{root}_{child1}_{child2}_{leaf}.我可以理解,通过在表的命名中使用分区键的根维度(将分区键变为{child1}_{child2}_{leaf}),将这个大的TableA划分为多个表可能是有益的.
我想要做的是尽可能快地从尽可能多的连接访问这些数据.如果我能弄清楚这些限制是什么或应该是什么,那也是不可思议的.
关于我提议的更改的更具体问题:
.net-4.0 ×1
azure ×1
c# ×1
com ×1
moq ×1
nunit ×1
odata ×1
ole ×1
partitioning ×1
scalability ×1