小编TTT*_*TTT的帖子

.NET客户端连接到ssl Web API

我有一个ASP.NET Web API,我想与ssl一起使用.目前,服务器正在使用自签名证书,此时允许使用http和https.我有一个非常基本的测试客户端,它适用于http,但不适用于https.我想知道如何修改下面的客户端代码,以便它可以与https一起使用.目前IE,Firefox和Chrome都可以使用http和https(带有证书警告)连接到Web API,因此这让我相信我不应该只修改服务器上的任何内容,只需在客户端代码中.这是客户端代码:

static void Main(string[] args)
{
    try
    {
        if (args.Length != 1)
        {
            Console.WriteLine("Please provide a url, and only a url.");
            return;
        }

        var url = new Uri(args[0]);
        var urlAuthority = url.GetLeftPart(UriPartial.Authority);
        var urlPathQuery = args[0].Substring(urlAuthority.Length);
        HttpClient client = new HttpClient();
        client.BaseAddress = new Uri(urlAuthority);
        HttpResponseMessage response = client.GetAsync(urlPathQuery).Result;
        if (response.IsSuccessStatusCode)
            Console.WriteLine(response.Content.ReadAsAsync<string>().Result); // expecting scalar results only
        else
            Console.WriteLine("{0} ({1})", (int)response.StatusCode, response.ReasonPhrase);
    }
    catch (Exception ex)
    {
        Exception tempEx = ex;
        while (tempEx != null)
        {
            Console.WriteLine(tempEx.Message); …
Run Code Online (Sandbox Code Playgroud)

c# asp.net-web-api

22
推荐指数
3
解决办法
5万
查看次数

使用 SSH 与 GPG 签署提交有什么区别?

\n

GitHub 现在支持 SSH 提交验证,因此您可以使用自行生成的 SSH 公钥在本地签署提交和标签,这将使其他人对您所做更改的来源充满信心。如果提交或标签具有可加密验证的 SSH 签名,GitHub 会将提交或标签设为“已验证”或“部分验证”。

\n

如果您已使用 SSH 密钥通过 GitHub 进行身份验证,现在可以上传相同或不同的密钥对\xe2\x80\x99s 公钥以将其用作签名密钥。您可以添加到帐户的签名密钥数量没有限制。有关更多信息,请访问GitHub 文档中的SSH 提交验证。

\n
\n

鉴于最近发生的事件,我想知道:使用 SSH 密钥与 GPG 密钥签署提交之间有什么区别?

\n

注意: 这是一个类似的问题,询问 GPG 和 SSH 之间的一般差异。这个问题具体是关于使用其中一种或另一种进行签名之间的区别。

\n

git ssh github gnupg digital-signature

13
推荐指数
2
解决办法
4440
查看次数

返回View with Model并转到特定的锚标记

我有一个带有多个锚标签的视图.有没有办法使用模型对象返回视图并转到视图中的特定锚标记?

例如,我的View有这样的锚点:

   <a name="Section1"></a>
   ...
   <a name="Section2"></a>
Run Code Online (Sandbox Code Playgroud)

我知道我可以使用以下方法击中这些锚点:

return Redirect(Url.RouteUrl(new { controller = "myController", action = "myAction" }) + "#Section1");
Run Code Online (Sandbox Code Playgroud)

但我不认为我可以使用重定向,因为我需要发送一个模型:

return View("myAction", model); // how to go to anchor?
Run Code Online (Sandbox Code Playgroud)

asp.net-mvc

12
推荐指数
2
解决办法
9096
查看次数

如何在 Visual Studio 中强制推送?

注意:该问题的标题已根据执行后更新遥控器的意图进行了更改git reset --hard。作为上下文,这个问题的原始标题是:

如何在 Visual Studio 中重置为之前的 Git 提交并让远程分支反映更改?

我知道之前已经有人问过这个问题,但我仍然无法让事情正常进行。

我需要删除两个提交。所以从树的顶部我有: BadCommit 1 BadCommit 2 GoodCommit

在 VS 2019 中,我右键单击 GoodCommit -> 重置 -> 删除更改

它在本地重置为 GoodCommit。但是,如果我尝试将其推送到存储库,我会收到一条消息,指出本地分支位于远程分支后面。如果我拉动和推动,我就会立即回到开始的地方,2 个 BadCommits 位于顶部。

如何将远程分支恢复到 GoodCommit?

git github visual-studio git-commit

11
推荐指数
1
解决办法
6008
查看次数

实体框架:Detach和AsNoTracking之间的区别

我的目标是复制现有实体,稍微修改它,然后插入修改后的版本.

我尝试了两种似乎都有效的方法:

var thing = context.Things.Where(x => x.SomeID == someid).AsNoTracking().Single();
thing.AnotherID = 1234;
context.Things.AddObject(thing);
context.SaveChanges();

var thing = context.Things.Where(x => x.SomeID == someid).Single();
context.Detach(thing);
thing.AnotherID = 1234;
context.Things.AddObject(thing);
context.SaveChanges();
Run Code Online (Sandbox Code Playgroud)

据我所知,他们都在实现我的目标.其中一个比另一个好,还是它们都同样好(或错误!?)

c# entity-framework

10
推荐指数
1
解决办法
3668
查看次数

如何手动确认 package-lock.json 文件中的完整性字段?

我可以运行哪些命令来手动生成(或确认)文件integrity中包含的字段package-lock.json

以下是 SHA1 的示例:

"uglify-js": {
  "version": "2.8.29",
  "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-2.8.29.tgz",
  "integrity": "sha1-KcVzMUgFe7Th913zW3qcty5qWd0=",
Run Code Online (Sandbox Code Playgroud)

另一个使用 SHA512:

"uri-js": {
  "version": "4.2.2",
  "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.2.2.tgz",
  "integrity": "sha512-KY9Frmirql91X2Qgjry0Wd4Y+YTdrdZheS8TFwvkbLWf/G5KNJDCh6pKL5OZctEW4+0Baa5idK2ZQuELRwPznQ==",
Run Code Online (Sandbox Code Playgroud)

我的疯狂猜测是针对 tgz 文件运行指定的哈希,然后对其进行 Base64 编码,但事实并非如此。例如:

$ sha1sum.exe uglify-js-2.8.29.tgz
29c5733148057bb4e1f75df35b7a9cb72e6a59dd *uglify-js-2.8.29.tgz

$ sha1sum.exe uglify-js-2.8.29.tgz | cut -d " " -f1
29c5733148057bb4e1f75df35b7a9cb72e6a59dd

$ sha1sum.exe uglify-js-2.8.29.tgz | cut -d " " -f1 | base64
MjljNTczMzE0ODA1N2JiNGUxZjc1ZGYzNWI3YTljYjcyZTZhNTlkZAo=
Run Code Online (Sandbox Code Playgroud)

这显然不等于:

KcVzMUgFe7Th913zW3qcty5qWd0=
Run Code Online (Sandbox Code Playgroud)

npm npm-install package-lock.json

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

查看 Visual Studio Git 提交时,如何打开文件的本地副本?

在 Visual Studio 中查看 Git 提交时(我目前使用的是 2017),每天很多次我希望打开在提交中编辑的文件的本地副本,但没有内置选项(我知道)可以做到这一点。以下是查看提交时的可用选项:

在此输入图像描述

Note that the "Open" option opens a read-only copy of the file as it looked in the commit. I would like to open the current version of that file in my checked out branch (usually so I can make edits based on PR suggestions). Today what I do is: switch over to Solution Explorer, type the filename into the search box, wait for it to find it, and then open the file. But …

git visual-studio visual-studio-2017

8
推荐指数
1
解决办法
812
查看次数

使用[HttpPost,ValidateInput(false)]的MVC副作用

我在我的强类型视图中定义了一个TextArea

@Html.TextAreaFor(x => x.Text)
Run Code Online (Sandbox Code Playgroud)

我的控制器Action最初看起来与此类似:

[HttpPost]
public ViewResult Index(MyViewModel vm)
{
    using (var db = new MyEntities())
    {
        Post p = new Post();
        p.Text = vm.Text;
        db.Posts.AddObject(p);
        db.SaveChanges();
    }
    return View();
}
Run Code Online (Sandbox Code Playgroud)

这很好.用户输入TextArea的文本被传递到控制器并通过Entity Framework保存到SQL Server的Post表中.该字段的数据类型是varchar(1000).(使用带有[StringLength(1000)]验证的MetadataType在Text字段上还有模型验证.)

我注意到如果我尝试复制一些HTML源并将其粘贴到TextArea并提交它,我收到以下错误:

"从客户端检测到一个潜在危险的Request.Form值"

这个错误让我想到了这个问题,从中可以看出我可以简单地添加

[HttpPost, ValidateInput(false)]
Run Code Online (Sandbox Code Playgroud)

我的行动停止这种类型的验证.这非常有效,但令我惊讶的是,无论我尝试放入TextArea,我都不会引起任何问题.如果我粘贴javascript,html或带有引号字符的T-SQL语句,它仍然可以正常工作.我看到我进了出现在SQL表中的文本区域的确切角色,如果我显示的文字回的看法,我看到在源中的每个字符转换为HTML对应,并在屏幕上显示看起来就像当我进入它时它就会这样做.我没有做任何文本转换来实现这一点.默认情况下,一切都按照我的要求完成.当然我很高兴这一点,但是当我读到关于禁用验证时,通常会发出警告,你应该理解这样做的后果,我不认为我这样做.所以我想知道,后果是什么?是否有人可能在我的TextArea中输入任何可能因禁用输入验证而搞砸的内容?

如果它是相关的,我的特定设置是MVC4,.NET 4.0,实体框架4.4,SQL Server 2012 Express.

asp.net-mvc

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

我什么时候应该使用“git push --force-if-includes”

当我想强制推送时,我几乎总是使用--force-with-lease. 今天我升级到 Git 2.30 并发现了一个新选项:--force-if-includes.

阅读更新的文档后,我仍然不完全清楚在哪种情况下我会使用--force-if-includes而不是--force-with-lease像我通常那样使用。

git git-push

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

最佳实践:DataBound with loop vs RowDataBound

如果要对GridView的每一行执行操作,通常会使用RowDataBound.但另外,您也可以使用DataBound并遍历那里的每一行.除了在RowDataBound中保存foreach代码行之外,这两种方法都有任何优点/缺点吗?(表现还是其他?)

asp.net gridview

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