小编one*_*ill的帖子

GIT存储库的工作目录是什么?

根据我迄今为止阅读GIT的经验,我发现工作目录似乎有点过载.有时人们指的是检查分支的硬盘驱动器上目录,例如在克隆存储库时,分支被检出到repo的新克隆的目录中.

但有时人们只是指一个抽象的位置,其中包含未跟踪的文件修改过的文件,即输入时的红色文本git status

我希望有人可以让我知道工作目录的官方定义.即使是在线的Pro Git书籍也确实有点含糊不清.

注意:我每天都使用它,我只是想知道它是什么.

干杯

git

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

ngMessages和嵌套范围 - 选项卡上的ngForm中的Datepicker

OP更新

我已经找到了问题,现在这个问题已经关闭了.有一天会喜欢在这里找到发布解决方案的时间.


我在Angular Bootstrap选项卡上的ng-form中使用ngMessages时遇到了一些问题.更复杂的是,我正在验证的是Angular Bootstrap datepicker.所以代码如下,正如你所看到的,我在一个选项卡上的ng-form上有一个日期选择器.

<uib-tab index="5" heading="{{tabs[5].title}}" select="changeCheck($event)">
    <ng-form name="{{tabs[5].form}}">
        <div class="col-md-9">
        ...     
            <div class="col-md-6">
                <h4>Add Followup</h4>
                <div class="form-group">
                    <label for="addFollowupDate" class="control-label">Date:</label>                    
                    <div class="input-group">
                        <input type="text" id="addFollowupDate"
                               class="form-control"
                               uib-datepicker-popup="{{format}}"
                               ng-required="true"
                               ng-model="newFollowup.date"
                               is-open="addFollowupPopup.opened"
                               datepicker-options="dateOptions"
                               close-text="Close"
                               alt-input-formats="altInputFormats" />
                        <span class="input-group-btn">
                            <button type="button" class="btn btn-default" ng-click="openAddFollowupPopup()"><i class="fa fa-calendar"></i></button>
                        </span>
                        <div class="help-block" ng-messages="followupsForm.newFollowup.date.$error" ng-if="followupsForm.newFollowup.date.$invalid && followupsForm.newFollowup.date.$touched">
                            <div ng-message="required">This field is required</div>
                        </div>
                    </div>
                </div>      
Run Code Online (Sandbox Code Playgroud)

我已使用以下行将该表单分配给作用域:

$scope.followupsForm = $('ng-form[name="followupsForm"]').data('$formController');
Run Code Online (Sandbox Code Playgroud)

并且我已成功设置控件以触及提交,这会使边框变为红色:

if ($scope.followupsForm.$invalid) {

    angular.forEach($scope.followupsForm.$error, function (formErrorField) {
        angular.forEach(formErrorField, function (errorField) {
            errorField.$setTouched(); // …
Run Code Online (Sandbox Code Playgroud)

angular-ui-bootstrap ng-messages

5
推荐指数
0
解决办法
157
查看次数

Angular-Ui Bootstrap Popup DatePicker 的 ngModelOptions 的时区属性

我们在应用程序中使用 Angular-Ui Bootstrap Popup DatePicker,并且遇到了诸如此类的问题:前一天被选择为用户实际选择的日期。

我们将选择器的日期设置为来自服务器 (json) 的 UTC。虽然 Javascript Date 对象是本地的,因此不匹配。

作为解决方案(显然),他们添加了一个 ngModelOptions 并且我看到它的用法如下:

var date = new Date()
$scope.timezone = ((date.getTimezoneOffset() / 60) * -100)
Run Code Online (Sandbox Code Playgroud)

带标记

<input type="date" 
    ng-model="dateModel" 
    ng-model-options="{timezone: timezone}" /> 
Run Code Online (Sandbox Code Playgroud)

但是该选择器的 doco 并没有真正解释它如何使用/消耗该时区属性。我能找到的最接近的解释是 ngModelOptions 本身的 doco,其中写道:

您可以通过在 timezone 属性中提供时区名称来指定日期/时间输入指令所需的时区。

我希望有人能够简要解释一下该选择器如何使用 ngModelOptions 指令的时区属性,以及我是否应该将其设置为 utc 或将浏览器偏移设置为 utc。

谢谢

javascript timezone timezone-offset angularjs angular-ui-bootstrap

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

ASP.NET的异步和CPU绑定操作

async被称赞为ASP.NET的原因之一是遵循Nodejs异步平台,这导致更多的可伸缩性,释放线程来处理后续请求等.

但是,我已经读过在Task.Run中包装CPU绑定代码会产生相反的效果,即向服务器添加更多开销并使用更多线程.

显然,只有真正的异步操作才会受益,例如发出Web请求或调用数据库.

所以,我的问题如下.关于动作方法何时应该是异步的,有没有明确的指导?

asp.net-mvc async-await

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

如何在 ASP.NET Core 中转换 AppSettings

我相信它appsettings.json及其环境对应物(开发、暂存、生产)取代了 Web.config 转换。

这在开发环境中工作正常,其中这些环境的变量存在于 launchSettings.json

但是,如果我使用发布功能,将发布配置为使用我创建的暂存构建配置,则不会出现转换。

我在其他地方读过你需要创建环境变量。真的!事情就是这样吗?我们现在有一个系统环境变量的舰队,这些应用程序可能会或可能不会(随着时间的推移)在该机器上的 IIS(或其他)Web 服务器上运行。

目前,我正在appsettings.json发布后手动复制和粘贴“暂存” 。我已经必须将预先准备好的 Web.config 文件复制并粘贴到该文件夹​​中,因为它不再可用于在 IDE 中进行配置(但奇怪的是,仍然会在发布操作期间生成)。

是否有另一种方法可以为部署进行可维护的转换,类似于旧配置文件的转换?

c# appsettings asp.net-core asp.net-core-2.1

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

无法在ASP.NET Core项目中安装Microsoft.EntityFrameworkCore

以前从未有过这样做的问题,但是今天,当我运行命令时Install-Package Microsoft.EntityFrameworkCore,以下错误确保了:

NU1107: Version conflict detected for Microsoft.EntityFrameworkCore.Abstractions. Install/reference Microsoft.EntityFrameworkCore.Abstractions 2.2.1 directly to 
project WebApplication1 to resolve this issue. 
 WebApplication1 -> Microsoft.EntityFrameworkCore 2.2.1 -> Microsoft.EntityFrameworkCore.Abstractions (>= 2.2.1) 
 WebApplication1 -> Microsoft.AspNetCore.App 2.1.1 -> Microsoft.EntityFrameworkCore.Abstractions (>= 2.1.1 && < 2.2.0).
At line:1 char:1
+ Install-Package Microsoft.EntityFrameworkCore
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : NotSpecified: (:) [Install-Package], Exception
    + FullyQualifiedErrorId : NuGetCmdletUnhandledException,NuGet.PackageManagement.PowerShellCmdlets.InstallPackageCommand

Install-Package : Package restore failed. Rolling back package changes for 'WebApplication1'.
At line:1 char:1
+ Install-Package Microsoft.EntityFrameworkCore
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo …
Run Code Online (Sandbox Code Playgroud)

entity-framework entity-framework-core asp.net-core-2.1

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

QueryTrackingBehavior 对 DbContext 没有影响

也许我的期望需要重置。

我正在对“非跟踪”上下文进行概念验证。在上下文的构造函数中,我添加了以下几行:

ChangeTracker.QueryTrackingBehavior = QueryTrackingBehavior.NoTracking;
ChangeTracker.Tracked += ChangeTracker_Tracked;

以及以下处理程序:

private void ChangeTracker_Tracked(object sender, Microsoft.EntityFrameworkCore.ChangeTracking.EntityTrackedEventArgs e)
{
    Debug.WriteLine("Tracking has commenced");
}
Run Code Online (Sandbox Code Playgroud)

我的期望是,如果我将实体添加到上下文中,Tracked由于 NoTracking 跟踪行为配置,处理程序不会触发。但是当我添加一个实体时,事件果然触发了!

var pub = new Publishers
{
    Name = "Blabla"
};
var ctx = serviceProvider.GetService<LibraryNoTrackingContext>();
ctx.Publishers.Add(pub);
Run Code Online (Sandbox Code Playgroud)

根据我的观察,QueryTrackingBehavior配置似乎不起作用,因为正在发生更改跟踪。

我是不是搞错了?如果是这样,它是如何No Change Tracking工作的?

注意:我还尝试了以下代码:

serviceCollection.AddDbContext<LibraryNoTrackingContext>(
        o =>
        {
            o.UseSqlServer(configuration.GetConnectionString("Default"));
            o.UseQueryTrackingBehavior(QueryTrackingBehavior.NoTracking);
        });
Run Code Online (Sandbox Code Playgroud)

entity-framework-core entity-framework-core-3.0

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

Serilog EventLog Sink 不记录日志

我已将Serilog.Sinks.EventLog接收器安装到一个小型后台工作服务项目中。但是,我尝试写入的日志均未显示在事件日志中。

这是我的 Main 方法的主体。指定RecurringTasks.Service为源的 已经创建(由我手动创建)。

Log.Logger = new LoggerConfiguration()
    .WriteTo.EventLog(source: "RecurringTasks.Service", logName: "Application")
    .CreateLogger();

Log.Logger.Information("Test message");

try
{
    var host = CreateHostBuilder(Log.Logger, args).Build();
    host.Run();
}
catch (Exception e)
{
    Log.Fatal(e, "Host terminated unexpectedly");
}
finally
{
    Log.CloseAndFlush();
}
Run Code Online (Sandbox Code Playgroud)

关于为什么“测试”消息没有写入事件日志的任何想法?干杯

event-log serilog

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

NLog不写

我已将NLog添加到我的项目中,并且在开发环境中,它运行正常.

我创建了一个安装文件来部署我的应用程序.NLog.config文件未在安装项目中显示为依赖项.因此,我将其添加为文件,并在部署时与exe文件和App.config存在于同一目录中.

它不做任何记录.我不知道为什么.这是配置文件:

<?xml version="1.0" encoding="utf-8" ?>
<?xml version="1.0" encoding="utf-8" ?>
<nlog xmlns="http://www.nlog-project.org/schemas/NLog.xsd" 
      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  <variable name="day" value="${date:format=dd}" />
  <variable name="month" value="${date:format=MM}" />
  <variable name="year" value="${date:format=yyyy}" />  
  <variable name="verbose" value="${longdate} | ${level} | ${message} | ${exception:format=tostring,message,method:maxInnerExceptionLevel=5:innerFormat=shortType,message,method}}" />

  <targets>
    <target name="logfile" xsi:type="File" fileName="${basedir}/Logs/${year}${month}${day}.log" layout="${verbose}" />
  </targets>

  <rules>
    <logger name="*" minlevel="Error" writeTo="logfile" />
  </rules>
</nlog>
Run Code Online (Sandbox Code Playgroud)

任何帮助都会很棒.干杯!

nlog

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

发送二进制文件TcpClient - 文件大于源

为了让我的脚趾在网络编程的水中,我写了一个小的控制台应用程序将png文件发送到服务器(另一个控制台应用程序).服务器写入的文件略大于源png文件.它不会打开.

客户端应用程序的代码是:

    private static void SendFile()
    {
        using (TcpClient tcpClient = new TcpClient("localhost", 6576))
        {
            using (NetworkStream networkStream = tcpClient.GetStream())
            {
                //FileStream fileStream = File.Open(@"E:\carry on baggage.PNG", FileMode.Open);

                byte[] dataToSend = File.ReadAllBytes(@"E:\carry on baggage.PNG");

                networkStream.Write(dataToSend, 0, dataToSend.Length);
                networkStream.Flush();

            }
        }

    }
Run Code Online (Sandbox Code Playgroud)

Server应用程序的代码是:

    private static void Main(string[] args)
    {
        Thread thread = new Thread(new ThreadStart(Listen));
        thread.Start();

        Console.WriteLine("Listening...");
        Console.ReadLine();
    }

    private static void Listen()
    {
        IPAddress localAddress = IPAddress.Parse("127.0.0.1");
        int port = 6576;
        TcpListener tcpListener = new TcpListener(localAddress, port);
        tcpListener.Start();

        using (TcpClient …
Run Code Online (Sandbox Code Playgroud)

.net c# tcplistener tcpclient

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