小编Jez*_*Jez的帖子

如何禁用Windows的Git Credential Manager?

我注意到,在Git中的最新版本,默认现在是弹出一个"混帐凭据管理器的Windows"对话框中,而不是在bash的提示我要我的密码提示每次的.我真的很讨厌这种行为.我怎样才能禁用它并返回每次在bash shell输入密码?

顺便说一句,我不希望git 以任何方式缓存我的凭据,无论是通过Windows凭据还是某些内部守护进程.我想禁用所有凭据缓存.

git bash

151
推荐指数
11
解决办法
9万
查看次数

在git中解决'两者都添加'的合并冲突?

我在git中变基础,我得到的一个冲突是"两个都添加" - 也就是说,在我的分支中已经独立添加了完全相同的文件名,并且在分支中我正在重新定位. git status告诉我:

# Unmerged paths:
#   (use "git reset HEAD <file>..." to unstage)
#   (use "git add/rm <file>..." as appropriate to mark resolution)
#
#       both added:         src/MyFile.cs
Run Code Online (Sandbox Code Playgroud)

我的问题是,我该如何解决这个问题?我必须使用合并工具还是只能从命令行执行此操作?如果我git rm src/MyFile.cs,git如何知道我要删除哪个文件版本以及我想保留哪个文件?

git merge rebase

129
推荐指数
3
解决办法
6万
查看次数

无法在HttpResponseMessage标头上设置Content-Type标头?

我正在使用ASP.NET WebApi来创建RESTful API.我正在我的一个控制器中创建一个PUT方法,代码如下所示:

public HttpResponseMessage Put(int idAssessment, int idCaseStudy, string value) {
    var response = Request.CreateResponse();
    if (!response.Headers.Contains("Content-Type")) {
        response.Headers.Add("Content-Type", "text/plain");
    }

    response.StatusCode = HttpStatusCode.OK;
    return response;
}
Run Code Online (Sandbox Code Playgroud)

当我通过AJAX将浏览器推送到该位置时,它给了我这个例外:

未使用的标题名称.确保请求标头与HttpRequestMessage一起使用,响应标头与HttpResponseMessage一起使用,内容标头与HttpContent对象一起使用.

Content-Type对于回复来说,这不是一个完全有效的标题吗?为什么我得到这个例外?

c# asp.net rest asp.net-web-api

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

当异步方法不以"异步"结束时,如何在Visual Studio中收到警告?

每次创建一个不结束"异步"的异步方法时,如何让Visual Studio给我一个命名警告?

这是异步方法的推荐约定,但我经常发现自己忘记添加该后缀并且警告会很有用.

c# asynchronous visual-studio

68
推荐指数
2
解决办法
8763
查看次数

SQL Server以静默方式截断存储过程中的varchar

根据这个论坛的讨论,SQL Server(我使用2005但我收集这个也适用于2000和2008)默认将varchar你指定的任何s指定为varchar的长度,即使直接插入该字符串也是如此.INSERT实际上会导致错误.例如.如果我创建此表:

CREATE TABLE testTable(
    [testStringField] [nvarchar](5) NOT NULL
)
Run Code Online (Sandbox Code Playgroud)

然后当我执行以下内容时:

INSERT INTO testTable(testStringField) VALUES(N'string which is too long')
Run Code Online (Sandbox Code Playgroud)

我收到一个错误:

String or binary data would be truncated.
The statement has been terminated.
Run Code Online (Sandbox Code Playgroud)

大.保留了数据完整性,并且调用者知道它.现在让我们定义一个存储过程来插入:

CREATE PROCEDURE spTestTableInsert
    @testStringField [nvarchar](5)
AS
    INSERT INTO testTable(testStringField) VALUES(@testStringField)
GO
Run Code Online (Sandbox Code Playgroud)

并执行它:

EXEC spTestTableInsert @testStringField = N'string which is too long'
Run Code Online (Sandbox Code Playgroud)

没有错误,1排受影响.将一行插入表中,testStringField格式为'strin'.SQL Server以静默方式截断存储过程的varchar参数.

现在,这种行为有时可能很方便,但我认为没有办法把它关掉.这非常烦人,因为如果我将一个字符串传递给存储过程,我希望错误.似乎有两种方法可以解决这个问题.

首先,将存储过程的@testStringField参数声明为大小为6,并检查其长度是否超过5.这看起来像是一个黑客攻击并涉及大量的样板代码.

其次,只需声明所有存储过程varchar参数varchar(max),然后让INSERT存储过程中的语句失败.

后者似乎工作正常,所以我的问题是:varchar(max)在SQL …

sql sql-server stored-procedures truncate truncation

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

如何在EF代码优先禁用链接表的级联删除?

我想禁用具有实体框架代码优先的链接表的级联删除.例如,如果许多用户拥有多个角色,并且我尝试删除角色,我希望阻止删除,除非当前没有与该角色关联的用户.我已经删除了我的级联删除约定OnModelCreating:

protected override void OnModelCreating(DbModelBuilder modelBuilder) {
    ...
    modelBuilder.Conventions.Remove<OneToManyCascadeDeleteConvention>();
Run Code Online (Sandbox Code Playgroud)

然后我设置了用户角色链接表:

modelBuilder.Entity<User>()
    .HasMany(usr => usr.Roles)
    .WithMany(role => role.Users)
    .Map(m => {
        m.ToTable("UsersRoles");
        m.MapLeftKey("UserId");
        m.MapRightKey("RoleId");
    });
Run Code Online (Sandbox Code Playgroud)

然而,当EF创建数据库时,它会为外键关系创建一个删除级联,例如.

ALTER TABLE [dbo].[UsersRoles]  WITH CHECK ADD  CONSTRAINT [FK_dbo.UsersRoles_dbo.User_UserId] FOREIGN KEY([UserId])
REFERENCES [dbo].[User] ([UserId])
ON DELETE CASCADE
GO

ALTER TABLE [dbo].[UsersRoles]  WITH CHECK ADD  CONSTRAINT [FK_dbo.UsersRoles_dbo.Role_RoleId] FOREIGN KEY([RoleId])
REFERENCES [dbo].[Role] ([RoleId])
ON DELETE CASCADE
GO
Run Code Online (Sandbox Code Playgroud)

如何阻止EF生成此删除级联?

.net c# database entity-framework ef-code-first

64
推荐指数
3
解决办法
4万
查看次数

如何强制实体框架插入标识列?

我想编写一些C#代码来使用一些种子数据初始化我的数据库.显然,这需要能够在插入时设置各种Identity列的值.我正在使用代码优先的方法.默认情况下,DbContext处理数据库连接,因此您不能SET IDENTITY_INSERT [dbo].[MyTable] ON.所以,到目前为止我所做的是使用DbContext构造函数,它允许我指定要使用的数据库连接.然后,我设置IDENTITY_INSERTON该数据库的连接,然后尝试使用实体框架插入我的记录.这是我到目前为止所得到的一个例子:

public class MyUserSeeder : IEntitySeeder {
    public void InitializeEntities(AssessmentSystemContext context, SqlConnection connection) {
        context.MyUsers.Add(new MyUser { MyUserId = 106, ConceptPersonId = 520476, Salutation = "Mrs", Firstname = "Novelette", Surname = "Aldred", Email = null, LoginId = "520476", Password="28c923d21b68fdf129b46de949b9f7e0d03f6ced8e9404066f4f3a75e115147489c9f68195c2128e320ca9018cd711df", IsEnabled = true, SpecialRequirements = null });
        try {
            connection.Open();
            SqlCommand cmd = new SqlCommand("SET IDENTITY_INSERT [dbo].[MyUser] ON", connection);
            int retVal = cmd.ExecuteNonQuery();
            context.SaveChanges();
        }
        finally {
            connection.Close(); …
Run Code Online (Sandbox Code Playgroud)

database sql-server asp.net entity-framework ef-code-first

54
推荐指数
5
解决办法
7万
查看次数

ASP.NET MVC渲染似乎很慢

我在Visual Studio中创建了一个全新的MVC4 Web应用程序,除了为它添加一个Home控制器和一个"Hello world"索引视图之外,它没有做任何事情.然后我安装了MiniProfiler NuGet包并将必要的几行放入_Layout.cshtml.这是我在发布模式下运行网站时获得的(在IIS中托管):

MVC渲染图片

渲染时间因页面加载而异,但130ms的速度与它的速度差不多.这对我来说似乎有点慢,因为我已经看到其他人在30ms或更快时间内呈现页面.有关为什么渲染会因为一个全新的空MVC4项目而变慢的想法?我的处理器是Intel Core i5-2400,机器有16GB RAM.

顺便说一句,这不是第一次加载页面; 在获得130ms的结果之前,我重新加载了几次页面.

更新:
我按照PSCoder的答案中的建议(删除除RazorViewEngine之外的所有内容),并将渲染时间减半:

MVC渲染图片2

这真的很好,但是对于Render页面的主要操作我仍然可以达到70ms或更高; 理想情况下,我想将其减半或更好.

具体来说,我想问:

  • 这个渲染时间是否过于缓慢或者我的机器是否平均?
  • 有什么办法可以加快速度吗?

c# asp.net-mvc performance asp.net-mvc-4

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

Git for Windows不会执行我的.bashrc文件

我刚刚在Windows 7上安装了Git for Windows 2.5.0,.bashrc当我运行Git Bash时,我的文件似乎没有被执行.

我创建了这样的文件:

Administrator@HintTech-Dev MINGW64 /
$ pwd
/

Administrator@HintTech-Dev MINGW64 /
$ cd ~

Administrator@HintTech-Dev MINGW64 ~
$ pwd
/c/Users/Administrator

Administrator@HintTech-Dev MINGW64 ~
$ touch .bashrc

Administrator@HintTech-Dev MINGW64 ~
$ vi .bashrc

[... I insert the line "ZZZTESTVAR=234" (without the quotes) into the file in vim ...]

Administrator@HintTech-Dev MINGW64 ~
$ exit
Run Code Online (Sandbox Code Playgroud)

然而,当我下次运行Git Bash时:

Administrator@HintTech-Dev MINGW64 /
$ set | grep ZZZ

Administrator@HintTech-Dev MINGW64 /
$ cat ~/.bashrc
ZZZTESTVAR=234

Administrator@HintTech-Dev MINGW64 /
$ …
Run Code Online (Sandbox Code Playgroud)

windows git bash windows-7

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

将表单POST与查询字符串组合是否有效?

我知道在大多数MVC框架中,例如,查询字符串参数和表单参数都可用于处理代码,并且通常合并为一组参数(通常使用POST优先).但是,根据HTTP规范进行是否有效?说你要发帖到:

http://1.2.3.4/MyApplication/Books?bookCode=1234
Run Code Online (Sandbox Code Playgroud)

...并提交一些更新,例如对图书名称为1234的图书名称进行更改,您希望处理代码将bookCode查询字符串参数考虑在内,并使用更新后的图书信息将POST表格参数更新.这是有效的,这是一个好主意吗?

post http query-string

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