小编Jos*_*man的帖子

ContainerControlledLifetimeManager和HierarchicalLifetimeManager之间的主要区别是什么?

ContainerControlledLifetimeManager和HierarchicalLifetimeManager之间的一般区别是什么?我知道ContainerControlledLifetimeManager表示单例,即DI容器将为每个需要依赖的类型创建一个新实例.我阅读了有关理解终身经理的有用文章.我将容器创建的实例的哈希码与不同的生命周期管理器进行了比较.如果我使用ContainerControlledLifetimeManager,每个请求都有相同的实例,但是当我使用HierarchicalLifetimeManager时,我得到了不同的哈希码.正如文章中所写,每个子容器都将创建自己的实例.我不完全理解它.父母和孩子是否会有相同的实例?如果我没有孩子会怎么样?什么时候应该使用这个终身经理?请你能解释一下吗?

dependency-injection inversion-of-control unity-container

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

VSTest:MSTest V2适配器不支持testsettings文件或ForcedLegacyMode设置为true的runsettings.没有测试可用

如何通过.testsettings文件运行单元测试vstest.console.exe?我创建了空的visual studio解决方案,创建了空单元测试项目,添加了Local.testsettings文件作为解决方案项.

[TestClass]
public class UnitTest1
{
    [TestMethod]
    public void TestMethod1()
    {

    }
}
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

<?xml version="1.0" encoding="UTF-8"?>
<TestSettings name="Local" id="1109524d-9809-4423-b7fa-fad429ebfd8d" xmlns="http://microsoft.com/schemas/VisualStudio/TeamTest/2010">
  <Description>These are default test settings for a local test run.</Description>
  <Deployment enabled="false" />
  <Execution hostProcessPlatform="MSIL">
    <TestTypeSpecific>
      <UnitTestRunConfig testTypeId="13cdc9d9-ddb5-4fa4-a97d-d965ccfc6d4b">
        <AssemblyResolution>
          <TestDirectory useLoadContext="true" />
        </AssemblyResolution>
      </UnitTestRunConfig>
    </TestTypeSpecific>
    <AgentRule name="LocalMachineDefaultRole">
    </AgentRule>
  </Execution>
  <Properties />
</TestSettings>
Run Code Online (Sandbox Code Playgroud)

使用以下命令运行测试时,一切正常:

>> "[path to vstest]/vstest.console.exe" [path to project]\UnitTestProject1.dll
Run Code Online (Sandbox Code Playgroud)

以下命令给出错误.

"[path to vstest]/vstest.console.exe" [path to project]\UnitTestProject1.dll /Settings:[path to settings file]\Local.testsettings
Run Code Online (Sandbox Code Playgroud)

警告:MSTest V2适配器不支持testsettings文件或ForcedLegacyMode设置为true的runsettings.[path]\UnitTestProject1.dll中没有可用的测试.确保已注册测试发现者和执行者,并且平台和框架版本设置是适当的,然后重试. …

visual-studio vstest vstest.console.exe

9
推荐指数
2
解决办法
1万
查看次数

如何在Xamarin Forms中制作长按手势?

能告诉我如何识别Xamarin Forms应用程序中的长按手势?

我用前几天 TapGestureRecognizer

TapGestureRecognizer imageTap = new TapGestureRecognizer();
imageTap.Tapped += (sender, args) => this.OnClickImage;
image.GestureRecognizers.Add(imageTap);
Run Code Online (Sandbox Code Playgroud)

但我不知道如何根据xamarin论坛的这个帖子做长按手势

它应该看起来像这样,但它不起作用.

var dumpParam = new RelayGesture((g, x) => DisplayAlert("Title", "Hello message", "Cancel"));

book.Cover.SetValue(Gestures.InterestsProperty, new GestureCollection() {
    new GestureInterest
        {
            GestureType = GestureType.LongPress
            GestureCommand = // what should I set?
            GestureParameter = dumpParam
        }
 });
Run Code Online (Sandbox Code Playgroud)

如何设置我的自定义处理程序方法?

gesture xamarin xamarin.forms

8
推荐指数
4
解决办法
2万
查看次数

如何将列表列表转换为固定大小的矩阵?

我想创建Hemming Matrix.我刚刚建造了Galois字段,就像乘法组一样.这就是我得到的:

MultiplicativeGroup = DeleteDuplicates[
   NestList[
    PolynomialMod[
      PolynomialMod[(generating*#), irreducablePolynomial], 2] &, 1, 
    n]];
Run Code Online (Sandbox Code Playgroud)

{1,a,a ^ 2,1 + a ^ 2,1 + a + a ^ 2,1 + a,a + a ^ 2}

之后我把它转换成二进制形式,看起来像这样:

CoefficientList[MultiplicativeGroup, a]
Run Code Online (Sandbox Code Playgroud)

{{1},{0,1},{0,0,1},{1,0,1},{1,1,1},{1,1},{0,1,1}}但是我坚持把它转换成二进制矩阵形式.它必须看起来像这样:

(0  0   1   1   1   0   1
0   1   0   0   1   1   1
1   0   0   1   1   1   0)
Run Code Online (Sandbox Code Playgroud)

但我实际上不知道该怎么做.我无法转置它或做任何其他事情.你可以帮帮我吗?

wolfram-mathematica list matrix

6
推荐指数
1
解决办法
54
查看次数

如何在 Windows 10 上注册 ASP.NET?

当我运行此命令时,出现以下错误:aspnet_regiis.exe -i

C:\Windows\Microsoft.NET\Framework64\v4.0.30319>aspnet_regiis.exe -i Microsoft (R) ASP.NET RegIIS 版本 4.0.30319.0 用于在本地计算机上安装和卸载 ASP.NET 的管理实用程序。版权所有 (C) 微软公司。版权所有。开始安装 ASP.NET (4.0.30319.0)。此版本的操作系统不支持此选项。管理员应使用“打开/关闭 Windows 功能”对话框、服务器管理器管理工具或 dism.exe 命令行工具来安装/卸载带有 IIS8 的 ASP.NET 4.5。有关更多详细信息,请参阅 http://go.microsoft.com/fwlink/?LinkID=216771。已完成安装 ASP.NET (4.0.30319.0)。

这是我的 Windows 功能配置: 在此输入图像描述

windows asp.net iis

5
推荐指数
1
解决办法
2万
查看次数

当我需要使用带有多个参数的 POST 方法而不是单独的模型时?

您能告诉我何时需要在 WebApi/MVC 应用程序中使用多个参数而不是单独的模型吗?

我有一个需要几个参数的操作。

[HttpPost]
public InfoViewModel GetInfo(IEnumerable<Guid> Ids, DocumentType type)
{
    // to do smth
}
Run Code Online (Sandbox Code Playgroud)

我也可以将此操作转换为以下内容:

[HttpPost]
public InfoViewModel GetInfo(RequestViewModel model)
{
   // to do smth
}
Run Code Online (Sandbox Code Playgroud)

我需要一个用于第二种情况的特殊模型。

public class RequestViewModel
{
    public IEnumerable<Guid> Ids { get; set; }
    public DocumentType DocumentType { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

我以 JSON 格式将数据发送到服务器。您能告诉我这两种方法的优点和缺点吗?谢谢。

c# model-binding asp.net-web-api

5
推荐指数
1
解决办法
2999
查看次数

AutoMapper:PreserveReferences和MaxDepth有什么区别?

我有点困惑.我无法找出PreserveReferences和之间的区别MaxDepth.

假设我们有以下DTO和模型.

public class PersonEntity
{
    public PersonEntity InnerPerson { get; set; }
}

public class PersonModel
{
    public PersonModel InnerPerson { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

如文档中所述:

以前,AutoMapper可以通过跟踪映射的内容来处理循环引用,并在每个映射上检查源/目标对象的本地哈希表,以查看该项是否已映射.事实证明,这种跟踪非常昂贵,您需要使用PreserveReferences选择使用圆形地图才能工作.或者,您可以配置MaxDepth.

我的映射:

cfg.CreateMap<PersonModel, PersonEntity>().MaxDepth(1);
cfg.CreateMap<PersonEntity, PersonModel>();
Run Code Online (Sandbox Code Playgroud)

程序:

var personModel = new PersonModel();
personModel.InnerPerson = personModel;
var entity = Mapper.Map<PersonEntity>(personModel);
Run Code Online (Sandbox Code Playgroud)

这就是我期望得到的:

在此输入图像描述

这就是我实际得到的:

在此输入图像描述

我可以使用它们(PreserveReferencesMaxDepth)来解析循环引用,但我没有看到区别.什么时候我应该在MaxDepth方法中使用不同的深度?那么,有人能提供吗?提前致谢.

c# circular-reference automapper

5
推荐指数
1
解决办法
2297
查看次数

找不到带有URI或FriendlyName的vstest测试记录器

我正在尝试vstest通过遵循本文来实现我的自定义记录器,为命令行测试运行程序vstest.console.exe编写记录器我在VS解决方案中有3个项目。

ClassLibrary1 仅包含一个示例Service类。

public class Service
    {
        public int GetDocumentNumber(Guid documentId)
        {
            if (documentId == Guid.Empty)
            {
                throw new ArgumentException("Document id is empty guid.");
            }

            return 178;
        }
    }
Run Code Online (Sandbox Code Playgroud)

SimpleLoggerVSTest(ClassLibrary)仅包含一个类。的ITestLogger是从一个接口Microsoft.VisualStudio.TestPlatform.ObjectModel

[ExtensionUri("logger://SimpleConsoleLogger/v1")] /// Uri used to uniquely identify the console logger. 
[FriendlyName("SimpleLogger")] /// Alternate user friendly string to uniquely identify the logger.
        public class SimpleLogger : ITestLogger
        {
            public void Initialize(TestLoggerEvents events, string testRunDirectory)
            {
                Console.WriteLine("++++ Initialize ++++");
            }
        } …
Run Code Online (Sandbox Code Playgroud)

c# vstest

2
推荐指数
1
解决办法
1428
查看次数

如何配置NHibernate使用MS SQL 2016(RTM)?

我的visual studio使用的MS SQL Server版本如下:

Microsoft SQL Server 2016(RTM) - 13.0.1601.5(X64)

我是NHibernate的新手,我对我应该使用什么类型的方言感到困惑.是否可以设置以下配置参数:

<hibernate-configuration>

   <session-factory xmlns="urn:nhibernate-configuration-2.2">

      <property name="connection.provider">NHibernate.Connection.DriverConnectionProvider</property>
      <property name="connection.driver_class">NHibernate.Driver.SqlClientDriver</property>
      <property name="dialect">NHibernate.Dialect.MsSql2016Dialect</property>
      <property name="connection.connection_string">Data Source=Bookstore.mdf</property>

      <mapping resource="NHibernate_1.Book.hbm.xml" assembly="NHibernate_1" />

   </session-factory>

</hibernate-configuration>
Run Code Online (Sandbox Code Playgroud)

.net sql-server nhibernate

0
推荐指数
1
解决办法
2837
查看次数

Moment.js如何将MM/dd/yyyy HH:mm:ss.fff转换为往返日期/时间模式?

我怎样才能将字符串转换"8/3/2017 6:12:00 AM""2017-08-03T06:12:00.000"使用标准的JavaScript或moment.js库?

javascript datetime-format momentjs

0
推荐指数
1
解决办法
3613
查看次数