小编tom*_*dox的帖子

ASP.NET MVC 6 依赖注入

我有代码,

public class VendorManagementController : Controller
{
    private readonly IVendorRespository _vendorRespository;

    public VendorManagementController()
    {
        _vendorRespository = new VendorRespository();
    }
Run Code Online (Sandbox Code Playgroud)

现在我想使用依赖注入。所以代码将是

public class VendorManagementController : Controller
{
    private readonly IVendorRespository _vendorRespository;

    public VendorManagementController(IVendorRespository vendorRespositor)
    {
        _vendorRespository = vendorRespositor;
    }
Run Code Online (Sandbox Code Playgroud)

我的问题是,我找不到可以创建VendorRespository对象的地方以及如何将其传递给VendorManagementController已定义的参数化构造VendorManagementController(IVendorRespository vendorRespositor)函数?

c# asp.net asp.net-mvc dependency-injection

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

反应混合的ES6替代品

在使用ES6类时,我正在寻找React mixins的替代品.

我想在我的react组件中注入一些函数,但这些函数需要React元素.

React ES5使用了mixin,但React Classes不支持mixins.React类中mixins的替代方法是什么?

ecmascript-6 reactjs

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

TFS 2015 U1 vNext build发布工件始终失败,无法将工件与资源相关联

在尝试使用Publish Artifact任务执行任何vNext构建时,我们最终得到以下错误

##[error]Unable to associate artifact with resource at location:[location]
Run Code Online (Sandbox Code Playgroud)

示例日志输出

1 
2016-01-21T19:29:49.9838278Z Executing the powershell script: D:\Agent\tasks\PublishBuildArtifacts\1.0.4\PublishBuildArtifacts.ps1

2 
2016-01-21T19:29:50.1713333Z Preparing artifact content in staging folder D:\Agent\_work\1\a...

3 
2016-01-21T19:29:50.2338323Z Copying all files from D:\Agent\_work\1\s\ASC\ASC-Dev\CSDChangeControlDispatcher to D:\Agent\_work\1\a\CSDChangeControlDispatcher\CSDChangeControlDispatcher

4 
2016-01-21T19:29:50.4838343Z Copying all files from D:\Agent\_work\1\s\ASC\ASC-Dev\PrecompiledWeb\CSDChangeControlDispatcher to D:\Agent\_work\1\a\CSDChangeControlDispatcher\PrecompiledWeb\CSDChangeControlDispatcher

5 
2016-01-21T19:29:50.5150903Z Copying artifact content to D:\BuildDrop\ASC Dev vNext\20160121.7...

6 
2016-01-21T19:29:50.9369728Z Start: AssociateArtifact

7 
2016-01-21T19:29:50.9369728Z ##[error]Unable to associate artifact with resource at location:D:\BuildDrop\ASC Dev vNext\20160121.7.

8 
2016-01-21T19:29:50.9369728Z End: AssociateArtifact
Run Code Online (Sandbox Code Playgroud)

tfs tfs-2015

4
推荐指数
1
解决办法
3043
查看次数

保存时,Entity Framework Core是否不验证数据?

我有以下远程验证规则:

[AcceptVerbs("Get", "Post")]
public IActionResult ValidateWindowEndDate(DateTime? endDate, DateTime? startDate)
{
    int minWeeks = 8;

    if (startDate.HasValue && endDate.HasValue
            && (endDate < startDate.Value.AddDays(minWeeks * 7)))
    {
        return Json(data: $"Inspection window end date must be at least {minWeeks} weeks after start date.");
    }

    return Json(data: true);
}
Run Code Online (Sandbox Code Playgroud)

链接到我的课程中的属性,如下所示:

[Required]
[Remote("ValidateWindowEndDate", "InspectionWindow", AdditionalFields = "StartDate")]
public DateTime EndDate { get; set; }
Run Code Online (Sandbox Code Playgroud)

当我在视图中输入无效数据时,将按预期进行验证。但是,如果我在代码中获得了该对象的实例,则将日期更改为无效的日期,然后将其保存回数据库,例如

luInspectionWindow.EndDate = luInspectionWindow.StartDate.AddDays(1);
_context.Update(luInspectionWindow);
await _context.SaveChangesAsync();
Run Code Online (Sandbox Code Playgroud)

然后保存就不会发生异常,并且永远不会调用验证方法,这不是我所期望的行为。我以为EF会拒绝该记录为无效?这是预期的行为吗?

c# entity-framework-core asp.net-core-mvc

4
推荐指数
1
解决办法
2569
查看次数

如何在 ASP.NET Core Web API 中使用相同数量的参数重载控制器方法?

我正在将一个完整的 .NET Framework Web API 2 REST 项目迁移到 ASP.NET Core 2.2 并且在路由中有点迷失。

在网络API 2我能过载线路与相同数量的基础上,参数类型的参数,例如,我可以Customer.Get(int ContactId)Customer.Get(DateTime includeCustomersCreatedSince)和传入的请求将相应路由。

我无法在 .NET Core 中实现同样的事情,我要么收到 405 错误,要么收到 404 错误,而是出现此错误:

"{\"error\":\"请求匹配多个端点。匹配项:\r\n\r\n[AssemblyName].Controllers.CustomerController.Get ([AssemblyName])\r\n[AssemblyName].Controllers.CustomerController.Get ([AssemblyName])\"}"

这是我完整的 .NET 框架应用程序 Web API 2 应用程序中的工作代码:

[RequireHttps]    
public class CustomerController : ApiController
{
    [HttpGet]
    [ResponseType(typeof(CustomerForWeb))]
    public async Task<IHttpActionResult> Get(int contactId)
    {
       // some code
    }

    [HttpGet]
    [ResponseType(typeof(List<CustomerForWeb>))]
    public async Task<IHttpActionResult> Get(DateTime includeCustomersCreatedSince)
    {
        // some other code
    }
}
Run Code Online (Sandbox Code Playgroud)

这就是我在 Core 2.2 中将其转换为的内容:

[Produces("application/json")]
[RequireHttps]
[Route("api/[controller]")]
[ApiController]
public …
Run Code Online (Sandbox Code Playgroud)

routing asp.net-web-api-routing asp.net-core-webapi asp.net-core-2.2

4
推荐指数
1
解决办法
4065
查看次数

如何防止 Blazor NavLink 组件的默认导航

由于 Blazor 3.1 Preview 2 应该可以防止Blazor 中链接的默认导航行为,如本答案中所述

但是,这段代码:

<NavLink href="" Match="Match" @onclick:preventDefault @onclick="()=>LinkAction()" >
Do something
</NavLink>
Run Code Online (Sandbox Code Playgroud)

给出这个错误:

组件参数 'onclick' 用于该组件两次或多次。参数必须唯一(不区分大小写)

这是为什么?

c# blazor

4
推荐指数
1
解决办法
1898
查看次数

VS Code是否支持Meteor?

这是Visual Studio Code需要添加的东西还是有办法让它工作?

meteor visual-studio-code

3
推荐指数
1
解决办法
5025
查看次数

CSS和JavaScript更改未在ASP.NET Core中发布到Azure

当我将使用ASP.NET Core网站模板创建的网站发布到Azure时,为什么我对site.css和site.js所做的更改也没有发布?

bundling-and-minification asp.net-core-mvc visual-studio-2015 asp.net-core visual-studio-2017

3
推荐指数
1
解决办法
1269
查看次数

.NET Core 3与Windows 7兼容吗?

我一直在阅读与.NET Core 3相关的Microsoft博客文章,但其中没有一个提到Windows版本要求,这引起了很多评论,询问是否将支持Windows 7?

在theregister.co.uk文章中确实找到了Rich Lander的报价:

兰德说:“。NET Core 2支持Windows7。我们尚未锁定.NET Core 3的OS矩阵,但我们没有更改它的任何具体计划。”

在任何地方,Microsoft都对Windows 7支持.NET Core 3做出明确声明吗?

PS:我很感谢Windows 7 的生命周期终止,但是我也很清楚XP的延长支持期已延长。从仍在运行Windows 7的客户端数量来看,Win 7似乎也有可能获得扩展。

windows-7 .net-core

3
推荐指数
2
解决办法
1601
查看次数

SVN提交未完成

当我在svn中提交文件时,我经常会遇到这样的情况,即在它传输了所有文件后,svn将挂起,然后最终超时出错svn: E175012: Connection timed out.

这似乎发生在我上传超过20个文件的时候.

我相信在所有文件都已传输到服务器之后会发生这种情况,因为Transmitting file data在控制台之后新的周期将停止添加,或者所有文件都已列在Tortoise中.此外,如果我然后从存储库进行更新,我会为我刚刚尝试提交的所有文件进行合并(或者,更令人烦恼的是,要解决大量冲突),然后当我再次提交时,没有任何内容提交 - 大概意味着第一次成功传输所有文件.

可能是什么导致了这个?看起来客户端正在等待来自服务器的"全部完成"消息,该消息永远不会返回到我的PC?

我们的设置是客户端上的TortoiseSVN 1.8.2和服务器上的VisualSVN Server 2.7.

我在服务器上的VisualSVN事件日志中检查了错误消息,但没有.这种情况发生在办公室网络和VPN上,无论是使用Wi-Fi还是有线连接.

svn tortoisesvn visualsvn-server

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

此代码如何在不使用 DATEADD 的情况下向日期时间添加数字?

在下面的 SQL 语句中,有一些 T-SQL 将数字添加到 adatetime和 a 中date

declare @t table(UserID int, StartDate datetime, EndDate date)
insert @t select 1, '20110101', '20110102' 

-- Adding int to a datetime works
select t.StartDate + 2 as NewStartDate

-- Adding int to a date errors
select t.EndDate + 2 as NewEndDate
Run Code Online (Sandbox Code Playgroud)

我预计上述两个 select 语句都会失败,因为它们都没有使用该DATEADD方法,但令我惊讶的是,在不使用 using的情况下将 an 添加int到 a 中是有效的。这是为什么?datetimeDATEADD

sql t-sql sql-server

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