我有一个声明的界面
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-2
N-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