小编jle*_*ach的帖子

无法推送到远程分支,无法解析为分支

我从Bitbucket或Github迁移了我的回购.我不认为这很重要,但它是唯一不同的东西...有一段时间我有两个遥控器设置:

origin: bitbucket
github: github
Run Code Online (Sandbox Code Playgroud)

然后我删除了两个并将原点指向github:

git remote remove origin
git remote remove github
git remote add origin https://github....
Run Code Online (Sandbox Code Playgroud)

测试推动开发分支:

git push origin develop
Run Code Online (Sandbox Code Playgroud)

一切都是最新的,好的,好的.

按照惯例为某些工作创建一个新分支:

git checkout -b Feature/Name
Run Code Online (Sandbox Code Playgroud)

更新一两个文件.尝试推送到远程:

git push origin Feature/Name
Run Code Online (Sandbox Code Playgroud)

这会导致错误:

致命:功能/名称无法解析为分支

在线搜索这个问题,找到一些关于确保HEAD正确的东西,其他关于确保我的分支名称案例正确(但是,此时分支在遥控器上不存在).无法解决.

跑这个命令:

git push --all -u
Run Code Online (Sandbox Code Playgroud)

这让我的Feature/Name分支到github,但仍然看到与之前相同的行为:

git push origin develop
git push origin Feature/Name
Run Code Online (Sandbox Code Playgroud)

第一个工作,第二个抛出相同的错误.

我无法弄清楚为什么我会收到这个错误.有任何想法吗?

git

69
推荐指数
9
解决办法
7万
查看次数

下拉后立即隐藏VS 2015 Razor Autocomplete/Intellisense下拉列表

在2015年VS,只有当剃刀(.cshtml)文件,时间大约一半的自动完成/建议列表/智能感知无法正常工作(对不起,不知道实际刑期...当你键入一个对象,并击中.和显示的属性和方法列表可供选择)

行为是当我点击时.,列表会弹出几分之一秒然后关闭.它发生得这么快我尽量快办Backspace,.,Backspace,.循环几次,至少看到我需要的名字,但我通常俊男得到它,最终不得不从代码的其他地方找到的确切名称.非常烦人......

它偶尔发生,没有我能找到的真实模式.这是我排除的模式:

  • 打开的文件似乎并不重要.
  • 我是否关闭/重新打开文件似乎并不重要
  • 我是否导航到另一个文件并返回似乎并不重要
  • 它将在同一个文件中多次打开和关闭工作/不工作
  • 它似乎与任何特定的对象/属性/方法无关

我已经检查了所有选项(Razor似乎没有文本编辑选项?),尝试清除缓存,重新加载解决方案/项目,重新启动VS,所有这些似乎仍然没有提供模式.

有没有人遇到这个,并有任何想法,我可以找到其他什么来解决它?

示例 这是一个非常简单的示例...新项目,非常少的代码/文件,非常简单的视图.凡Model.停,我应该有平时的基础方法,和"项目"集合.它弹出一瞬间然后消失......没有涉及lambdas /复杂视图解析(这也是可重现的):

在此输入图像描述

更新:模式

我注意到的事情:

  • 如果我进入a @model ns.ns.ns.type,它很少发生在命名空间的"基础"端.这是因为我越来越接近它发生的类型.这个是间歇性的.
  • 在某些情况下,它每次都能完美地运行.例如,我经常使用DevExpress工具,从未见过任何扩展的行为(因此,@Html.DevExpress().(和其他类似的,不一定是DevEx模型)永远不会导致问题)
  • 它几乎一直发生在我访问我的时候@Model(这是我最想要的地方!).我发现了一些每次都可以重现的情况(参见上面的例子),但它大约是90%+
  • 偶尔,当我在对象树中工作时,一个会在下一个工作时失败(例如:@models ProjName.Web.App.Subscriptions.Models.AccountCreateVM......它可能会失败,Subscriptions但工作正常Models)
  • 偶尔,开始在自动完成内键入名称会将其重新启动并重新开始工作.在上面的例子中,开始输入AccAccountCreateVM使其重新开始工作.

intellisense razor visual-studio-2015

43
推荐指数
3
解决办法
4040
查看次数

Azure VM上的IIS/HTTP端点(非经典)

使用经典的Azure VM,可以在Azure VM上设置IIS,然后转到(旧)门户并为其设置HTTP端点.在新VM上,这显然是通过(新)门户网络安全组完成的,如下所述:

如何在新的azure门户(预览)上向我的VM添加新端点?

但是,我似乎无法找到如何实际设置HTTP端点......唯一可用的协议似乎是TCP或UDP.

在此输入图像描述

我需要在什么设置下允许http连接到VM上的IIS?我试过源:任何; 协议:任何; 源端口范围:*; 目的地:任何; 目的端口范围:80; action:允许,但仍然无法在80上与服务器的IP建立外部连接(RPD工作正常,并且通过localhost进行内部测试工作正常).

此VM具有公共IP,并且在此测试/设置阶段具有禁用防火墙.

注意:这是一个准系统VM配置,其中设置了默认的IIS角色,而VM使用默认的网络安全组:它不是更大的IaaS设置的一部分.

iis azure azure-virtual-machine

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

VS 2015 MVC OutOfMemoryException

尝试调试MVC5 Web应用程序 - 非常基本.我已经阅读了文章和SO问题和答案,并尝试了一些事情,直到我脸红了,仍然无法弄清楚为什么我会收到这个错误.

抛出了类型'System.OutOfMemoryException'的异常.

在执行当前Web请求期间发生了未处理的异常.请查看堆栈跟踪以获取有关错误及其源自代码的位置的更多信息.

环境: - VS 2015 - Windows 10 Professional N - IISExpress - MVC5 Web应用程序

我使用VS 2013直到大约两周前,在升级到Windows 10后切换到2015年.直到2015年才转发到2015年.项目几乎没有大和内存消耗,数据库可能有十几个其中有二十几行的表格,甚至不是这个单一的项目(这恰好是我目前最活跃的一个).

我做了以下事情:

  • 当发生这种情况时,验证机器资源没有峰值(CPU <10%,14gb内存,在尝试启动调试时几乎与6.7gb一样扁平化(当我没有尝试启动时一样正常,没有尖峰))
  • 使用足够的调试设置,以确保在关闭会话/停止调试后IISExpress不会在后台运行.
  • 把IISExpress放在系统上试试我可以手动停止应用程序并关闭它
  • 已经证实iisexpress没有悬挂流程继续运行3
  • 清除了每个临时文件夹以及我读过的所有其他技巧

然而,每按三次或四次我按F5开始调试,我就会收到此错误.有时我可以看到IISExpress运行,杀死它并重试,它工作正常.有时唯一有效的方法是重启Visual Studio.

我经历了运行,我必须每隔一段时间重新启动VS,我想调试应用程序.这是疯了,我找不到丝毫的原因.

我的智慧已经结束,我认为这可能是VS2015的一个错误,可能在Windows 10 Professional(N)上运行时?

任何人?请?!?!(如果有人认为有用,可以提供完整的堆栈跟踪)

debugging asp.net-mvc visual-studio-2015

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

调用事件,h(args)vs EventName?.Invoke()

我总是这样调用事件

void onSomeEvent(string someArg) {
    var h = this.EventName;
    if (h != null) {
        h(this, new MyEventArgs(someArg));
    }
}
Run Code Online (Sandbox Code Playgroud)

今天VS 2015告诉我这可以简化:

MyEvent?.Invoke(this, new MyEventArgs(someArg));
Run Code Online (Sandbox Code Playgroud)

关于后一种方法的一些问题,我以前没见过:

  1. 大概是?在事件名称之后检查处理程序是否为空?
  2. 假设处理程序不为null,.Invoke()看起来很简单
  3. 我已经使用了第一个例子多年,并意识到它可以防止竞争条件......大概?.Invoke()第二个例子也是如此?

c# events

7
推荐指数
1
解决办法
1038
查看次数

无法创建"System.Char"类型的常量值

我在尝试通过EF6中的LINQ对一些值进行分组和求和时遇到以下错误:

无法创建"System.Char"类型的常量值.在此上下文中仅支持基元类型或枚举类型.

我在StackOverflow上看了六个类似的问题,找不到我的问题.这是查询:

var q = from c in _context.HoursProviderCosts
        where c.PatientInsuranceCompanyName == insuranceName
            && c.HoursDate >= startDate
            && c.HoursDate <= endDate
        group c by new { c.ID, c.PatientFirstName, c.PatientLastName } into g
        select new Models.InsuranceCostListItem
        {
            PatientID = g.Key.ID,
            PatientName = g.Key.PatientFirstName + ' ' + g.Key.PatientLastName,
            Total = g.Sum(x => x.ProviderRate)
        };

return q.ToList();
Run Code Online (Sandbox Code Playgroud)

这是我的分组(我是新手)吗?底层EF6模型很好(我可以扩展结果视图_context.HoursProviderCosts并查看数据就好了).

谢谢

编辑:方法签名:

public List<Models.InsuranceCostListItem> InsuranceCostsListItems(DateTime periodStart, string insuranceName) {
Run Code Online (Sandbox Code Playgroud)

c# linq

7
推荐指数
1
解决办法
4318
查看次数

在系统版本列可以为空的情况下,将列更改为非空

我正在使用 SQL Server 和系统版本控制(时态)表。在我的主表中,我有一INT列当前允许 NULL。我想更新它以不允许空值,但表的系统/历史副本允许空值。

我运行这个语句:

ALTER TABLE dbo.MyTable 
    ALTER COLUMN MyInt INT NOT NULL;
Run Code Online (Sandbox Code Playgroud)

我得到这个错误:

无法将值 NULL 插入列“MyInt”、表“mydb.dbo.MyTable_History”;列不允许空值。更新失败。

我使用这个脚本创建了系统版本表:

ALTER TABLE dbo.MyTable
    ADD 
        ValidFrom DATETIME2 (2) GENERATED ALWAYS AS ROW START HIDDEN CONSTRAINT DFMyTable_ValidFrom DEFAULT DATEADD(SECOND, -1, SYSUTCDATETIME()),
        ValidTo DATETIME2 (2) GENERATED ALWAYS AS ROW END HIDDEN CONSTRAINT DFMyTable_ValidTo DEFAULT '9999.12.31 23:59:59.99',
        PERIOD FOR SYSTEM_TIME (ValidFrom, ValidTo);

ALTER TABLE dbo.MyTable 
    SET (SYSTEM_VERSIONING = ON (HISTORY_TABLE = dbo.MyTable_History));
GO
Run Code Online (Sandbox Code Playgroud)

在这种情况下,有没有其他方法可以使我的主表的列不可为空?我想我可以(也许)使用任意垃圾值手动更新现有的系统版本控制空值,但似乎时态表应该支持这种情况。

sql-server temporal-tables

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

DataAdapter.Update() 性能

我有一个相对简单的例程,它查看媒体文件的数据库条目,计算宽度、高度和文件大小,并将它们写回到数据库中。

数据库是 SQLite,使用 System.Data.SQLite 库,处理约 4000 行。我将所有行加载到 ADO 表中,使用新值更新行/列,然后运行 ​​adapter.Update(table); 在上面。

从数据库表加载数据集大约需要半秒,更新所有行的图像宽度/高度并从 FileInfo 获取文件长度可能需要 30 秒。美好的。

适配器.Update(表); 命令在附近某处运行需要 5 到 7 分钟。

这似乎太过分了。ID 是一个 PK INTEGER,因此 - 根据 SQLite 的文档,它本质上是索引的,但即便如此,我还是忍不住想,如果我为每个单独的更新运行单独的更新命令,这会完成得更快。

我曾认为 ADO/适配器的级别相对较低(无论如何与 ORM 相比),这种糟糕的性能让我感到惊讶。谁能解释一下为什么根据本地放置的 SQLite 数据库更新一批约 4000 条记录需要 5-7 分钟?

顺便说一句,是否有某种方法可以“窥视”ADO 如何处理这个问题?内部库逐步执行或...?

谢谢

public static int FillMediaSizes() {
        // returns the count of records updated

        int recordsAffected = 0;

        DataTable table = new DataTable();
        SQLiteDataAdapter adapter = new SQLiteDataAdapter();

        using (SQLiteConnection conn = new SQLiteConnection(Globals.Config.dbAppNameConnectionString))
        using (SQLiteCommand cmdSelect = new …
Run Code Online (Sandbox Code Playgroud)

c# sqlite performance ado.net

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

从控制器返回,无需等待异步方法完成

我读过自己的蓝色,希望有一个简单的答案。

我有一个 Web API 可以处理来自各种“野外”应用程序的遥测 在我的一个控制器中,我想接收一个请求,将错误记录到我的中央监控数据库并尽可能立即返回响应(我没有真正的了解调用者端性能可能有多重要的方式,并且已经有一个对初始 Web 服务请求的重大影响)。

基本上,我正在寻找的是这样的:

public IHttpActionResult Submit() {
    try {
        var model = MyModel.Parse(Request.Content.ReadAsStringAsync().Result);

        // ok, I've got content, now log it but don't wait
        // around to see the results of the logging, just return
        // an Accepted result and begone

        repository.SaveSubmission(model); // <-- fire and forget, don't wait

        return Accepted();

    } catch (Exception)
        return InternalServerError();
    }
}
Run Code Online (Sandbox Code Playgroud)

看起来它应该是直截了当的,但显然不是。我已经阅读了许多不同的帖子,从是的,只是使用 Task.Run()这是一个可怕的错误,你永远无法实现你想要的!

我的场景中的问题似乎是这个进程可能会在进程中终止,因为它运行在 ASP.NET 工作进程上,而不管调用异步方法的不同方法的泥潭(我已经用了最后两个几个小时左右阅读各种SO问题和Stephen Cleary博客......哇)。

如果在这种情况下的潜在问题是我“触发并忘记”的方法绑定到 http 上下文并受到 ASP.NET 工作进程的提前终止,那么我的问题就变成了......

有没有办法从那个 ASP.NET …

c# asynchronous asp.net-web-api

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

命令行动词参数的约定 -a 与 --arg

我刚刚注意到动词样式命令参数的模式(在 git 和 .NET 的 CommandLineParser 库中),想知道是否有人可以确认:

myprog dothis -a "someArg"

  • -a
  • --arg

单破折号前缀和双破折号前缀有什么区别?单破折号前缀是否始终用于单字母参数说明符,其中双破折号前缀始终用于参数的“长名称”?

是否有某个地方有正式的约定来推动这一点,还是普遍接受的非正式做法?(或者我只是在做些什么?)

只是好奇......我从未注意到 git 中的模式,CommandLineParser 文档非常薄,一些博客文章或其他内容涉及约定。

(就此而言......这种动词/参数的风格甚至叫什么?我似乎找不到太多关于它的东西)

command-line command-line-arguments

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