我有一个声明的界面
Task DoSomethingAsync();
Run Code Online (Sandbox Code Playgroud)
我正在使用MoqFramework进行测试:
[TestMethod()]
public async Task MyAsyncTest()
{
Mock<ISomeInterface> mock = new Mock<ISomeInterface>();
mock.Setup(arg => arg.DoSomethingAsync()).Callback(() => { <my code here> });
...
}
Run Code Online (Sandbox Code Playgroud)
然后在我的测试中我执行调用的代码await DoSomethingAsync().而且测试在这条线上失败了.我究竟做错了什么?
我有一个API控制器
public class MyController : ApiController { ... }
Run Code Online (Sandbox Code Playgroud)
默认情况下它映射到URL mysite/api/My/Method,我希望它没有"api"前缀的URL:mysite/My/Method
设置控制器属性[RoutePrefix("")]对我没有帮助.
还有其他方法可以实现吗?
我有一个HTML模板,它从控制器的数组中加载数据并将它们保存在表中.我还有一个指令,它可以对表行进行转换.数据数组正在填写API请求.在新请求之后,我已将请求结果合并到我的表中.正在为每个请求添加一组行,而不是清除以前的结果.
我已经调试了我的控制器代码来检查我的数组的状态,并在每次请求之前清除它.这是肯定的.然而,之前添加了新的结果.我认为原因可能出在我的移植指令模板中.
模板看起来像:
<div class="row">
<div class="col-md-12">
<div id="results" ng-show="results.length > 0">
<table class="table result-table">
<thead>
<tr>
<th>1</th>
<th>2</th>
<th>3</th>
<th>4</th>
</tr>
</thead>
<tbody>
<tr ng-repeat="result in results" my-result></tr>
</tbody>
</table>
</div>
</div>
</div>
Run Code Online (Sandbox Code Playgroud)
这是我的transclusion指令的代码:
angular.module('app').directive('myResult',
['$compile',
function ($compile) {
return {
transclude: true,
templateUrl: '/Scripts/app/templates/resultTemplate.html',
compile: function (tElement, tAttr, transclude) {
var contents = tElement.contents().remove();
var compiledContents;
return function (scope, iElement, iAttr) {
if (!compiledContents) {
compiledContents = $compile(contents, transclude);
}
compiledContents(scope, function (clone, scope) {
iElement.replaceWith(clone);
});
}; …Run Code Online (Sandbox Code Playgroud) 我尝试使用自定义命名空间序列化对象.这就是这个类的样子:
[XmlRoot("Root", Namespace = "myNamespace")]
public partial class MyClass
{
public MyClass()
{
this.Xmlns = new XmlSerializerNamespaces();
this.Xmlns.Add(string.Empty, "myNamespace");
}
[XmlNamespaceDeclarations()]
public XmlSerializerNamespaces Xmlns = null;
}
Run Code Online (Sandbox Code Playgroud)
以下是序列化它的代码:
XmlSerializer serializer = new XmlSerializer(typeof(MyClass));
serializer.Serialize(xmlWriter, obj);
Run Code Online (Sandbox Code Playgroud)
预期的结果是
<Root xmlns="myNamespace" />
Run Code Online (Sandbox Code Playgroud)
但是它仍然有xmlns:xsi和xmlns:xsd属性:
<Root xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="myNamespace" />
Run Code Online (Sandbox Code Playgroud)
当我序列化使用时serializer.Serialize(xmlWriter, obj, obj.Xmlns),结果是正确的.
为什么序列化程序会忽略该XmlNamespaceDeclarations属性?它不应该自动从它获取命名空间声明吗?如何在序列化类中定义名称空间?
提前致谢!
我有一个非常大的表,其层次结构无法修改。表中的节点有Id、ParentId、 aLevel和一些数据。这Level意味着具有 level 的节点N不仅可以是 level 的子节点,N-1还可以是 level 等的子节点。好消息是级别的数量是有限的 - 只有 8 个。级别 1 位于层次结构的顶部,级别 8 位于层次结构的末尾。N-2N-3
现在我需要根据关卡的位置压平该桌子。结果应该是这样的:
Lvl1 Lvl2 Lvl3 ... Lvl8
xxx xxx null xxx
xxx null xxx xxx
xxx null null xxx
xxx xxx xxx xxx
Run Code Online (Sandbox Code Playgroud)
第一步
由于关卡数量有限,第一个想法就是把LEFT JOIN所有的桌子都上几遍ParentId = Id。但这使得级别改变了位置,因为级别 6 可以被跳过,级别 5 取代了它的位置。
第二步所以我习惯CASE WHEN根据行的级别选择值。
-- LEVEL 4
CASE
WHEN lvl6.[Level] = 4 THEN lvl6.Data …Run Code Online (Sandbox Code Playgroud) 我有一个带有 EF Core 3.0 的 Asp Net Core 项目的 GitHub 存储库。我添加了以下工作流程以在每次更新develop分支时运行
name: Develop Build
on:
push:
branches:
- develop
pull_request:
branches:
- develop
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v1
- name: Setup .NET Core
uses: actions/setup-dotnet@v1
with:
dotnet-version: 3.0.102-servicing-014397
- name: Build with dotnet
run: dotnet build --configuration Release
- name: Test with dotnet
run: dotnet test --configuration Release
- name: Update database
run: dotnet ef database update --c DataContext --p MyProj --s MyProjFactory
Run Code Online (Sandbox Code Playgroud)
最后一行返回错误:
Could …Run Code Online (Sandbox Code Playgroud) 我想在WIX中制作一个安装包,它将升级我产品的早期版本.我为此目的使用MajorUpgrade.
问题是 - 我想在我的应用程序的整个生命周期内保留ProductId而不做任何更改.但是MajorUpgrade对每个版本都需要不同的ProductId.否则,它会显示错误消息"已安装另一个版本".
如何进行升级,保留ProductId?
提前谢谢!
c# ×3
ajax ×1
angularjs ×1
asp.net ×1
asp.net-ajax ×1
asp.net-core ×1
bigdata ×1
duplicates ×1
ef-core-3.0 ×1
hierarchy ×1
javascript ×1
moq ×1
sql-server ×1
t-sql ×1
unit-testing ×1
upgrade ×1
wix ×1
xml ×1