根据我迄今为止阅读GIT的经验,我发现工作目录似乎有点过载.有时人们指的是检查分支的硬盘驱动器上的目录,例如在克隆存储库时,分支被检出到repo的新克隆的目录中.
但有时人们只是指一个抽象的位置,其中包含未跟踪的文件和修改过的文件,即输入时的红色文本git status
我希望有人可以让我知道工作目录的官方定义.即使是在线的Pro Git书籍也确实有点含糊不清.
注意:我每天都使用它,我只是想知道它是什么.
干杯
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 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
async被称赞为ASP.NET的原因之一是遵循Nodejs异步平台,这导致更多的可伸缩性,释放线程来处理后续请求等.
但是,我已经读过在Task.Run中包装CPU绑定代码会产生相反的效果,即向服务器添加更多开销并使用更多线程.
显然,只有真正的异步操作才会受益,例如发出Web请求或调用数据库.
所以,我的问题如下.关于动作方法何时应该是异步的,有没有明确的指导?
我相信它appsettings.json及其环境对应物(开发、暂存、生产)取代了 Web.config 转换。
这在开发环境中工作正常,其中这些环境的变量存在于 launchSettings.json
但是,如果我使用发布功能,将发布配置为使用我创建的暂存构建配置,则不会出现转换。
我在其他地方读过你需要创建环境变量。真的!事情就是这样吗?我们现在有一个系统环境变量的舰队,这些应用程序可能会或可能不会(随着时间的推移)在该机器上的 IIS(或其他)Web 服务器上运行。
目前,我正在appsettings.json发布后手动复制和粘贴“暂存” 。我已经必须将预先准备好的 Web.config 文件复制并粘贴到该文件夹中,因为它不再可用于在 IDE 中进行配置(但奇怪的是,仍然会在发布操作期间生成)。
是否有另一种方法可以为部署进行可维护的转换,类似于旧配置文件的转换?
以前从未有过这样做的问题,但是今天,当我运行命令时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) 也许我的期望需要重置。
我正在对“非跟踪”上下文进行概念验证。在上下文的构造函数中,我添加了以下几行:
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) 我已将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)
关于为什么“测试”消息没有写入事件日志的任何想法?干杯
我已将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)
任何帮助都会很棒.干杯!
为了让我的脚趾在网络编程的水中,我写了一个小的控制台应用程序将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) c# ×2
.net ×1
angularjs ×1
appsettings ×1
asp.net-core ×1
asp.net-mvc ×1
async-await ×1
event-log ×1
git ×1
javascript ×1
ng-messages ×1
nlog ×1
serilog ×1
tcpclient ×1
tcplistener ×1
timezone ×1