小编kno*_*cte的帖子

继续中断git-push(恢复上传)

所以我正在做这个非常庞大的git-push,大约2 GB的数据被推送到我的服务器.突然我的wifi连接死了.所以现在在通过慢速连接传输超过250 MB之后,我必须重新开始,只是为了冒险全部.

[/咆哮]

当对SSH远程执行git-push时,有没有办法在失败后继续传输?

如果没有,那么通过片状连接传输存储库的最佳方法是什么,同时避免必须上传所有文件?

谢谢!

git ssh

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

Mailkit SMTP - StartTLS和TLS标志

我想通过SmtpClient连接到iCloud

我使用的设置如下:

服务器名称:smtp.mail.me.com
SSL必需:是
如果在使用SSL时看到错误消息,请尝试使用TLS或STARTTLS.
端口:587需要
SMTP验证:是 - 具有相关的用户名和密码

如果我使用SSL,我会收到"由于意外的数据包格式而导致握手失败"

如果我不使用SSL visual studio调试器挂起连接.

我认为问题是我没有告诉SmtpClient使用tls但是我找不到如何做到这一点的文档.

代码如下:

using (var client = new SmtpClient()) {
    client.Timeout = 1000 * 20;
    //client.Capabilities.
    client.AuthenticationMechanisms.Remove ("XOAUTH2");

    client.Connect("SMTP.mail.me.com", 587, false); //dies here
    //client.Connect(servername, port, useSsl);
    //can I set tls or starttls here??
    client.Authenticate(username, password);
    client.Send(FormatOptions.Default, message);
}
Run Code Online (Sandbox Code Playgroud)

我能够手动设置TLS或StartTLS.我尝试过的一件事是以下但它似乎没有用

client.Connect(new Uri("smtp://" + servername + ":" + port + "/?starttls=true"));
Run Code Online (Sandbox Code Playgroud)

感谢您的帮助.

c# mailkit

9
推荐指数
2
解决办法
9711
查看次数

EntityFramework没有正确生成C#文件(某些枚举不完整,因此构建失败)

在工作中,我刚刚安装了我的操作系统的全新副本和VS2015的全新副本.当我第一次克隆我的解决方案时,我无法再构建它,即使我像往常一样生成C#文件,首先打开.edmx文件,然后单击"保存"图标.

构建它时会抛出错误:

CS0150:预期值为常数

因为它生成的枚举不完整!一个例子:

public enum DocumentType : int
{
    Identity = 1,
    ResidenceProof = 2,
    RegisterDoc = ,
}
Run Code Online (Sandbox Code Playgroud)

我当时也有这个编译器错误,但在修复它之后我的C#枚举仍然被错误地生成:

具有不变名称"MySql.Data.MySqlClient"的ADO.NET提供程序未在计算机或应用程序配置文件中注册,或者无法加载.有关详细信息,请参阅内部异常

我该怎么解决这个问题呢?

.net c# entity-framework auto-generate

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

将WarpWallet的散列算法从javascript转换为C#

我正在尝试在C#中实现warpwallet代码.我正在使用cryptsharp进行scrypt和PBKDF2实现.但是,我似乎得到的结果与真实的网站不同.

这是我的代码:

static void Main(string[] args)
{
    string randomString = "mypassword";
    byte[] passwordBytes = Encoding.UTF8.GetBytes(randomString);
    byte[] passwordBytesScrypt = new byte[passwordBytes.Length + 1];
    Array.Copy(passwordBytes, 0, passwordBytesScrypt, 0, passwordBytes.Length);
    passwordBytesScrypt[passwordBytes.Length] = 0x1;

    string salt = "salt@gmail.com";
    byte[] saltBytes = Encoding.UTF8.GetBytes(salt);
    byte[] saltBytesScrypt = new byte[saltBytes.Length + 1];
    Array.Copy(saltBytes, 0, saltBytesScrypt, 0, saltBytes.Length);
    saltBytesScrypt[saltBytes.Length] = 0x1;

    byte[] scryptBytes = CryptSharp.Utility.SCrypt.ComputeDerivedKey(passwordBytesScrypt, saltBytes, 524288, 8, 1, null, 32);

    byte[] passwordBytesPBKDF2 = passwordBytesScrypt;
    passwordBytesPBKDF2[passwordBytes.Length] = 0x2;

    byte[] saltBytesPBKDF2 = saltBytesScrypt;
    saltBytesScrypt[saltBytes.Length] = 0x2;

    byte[] …
Run Code Online (Sandbox Code Playgroud)

javascript c# scrypt

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

C中的非阻塞udp套接字编程:我得到了什么?

我在理解recv()/ recvfrom()从非阻塞UDP套接字返回时遇到了问题.

更具体一点,与TCP相比(如果我错了,请纠正我):

  • 阻塞套接字(TCP或UDP)将不会从recv()返回,直到缓冲区中有一些数据.这可以是一些字节数(TCP)或完整数据报(UDP).

  • 非阻塞TCP套接字要么返回EWOULDBLOCK(linux)/ WSAEWOULDBLOCK(窗口),要么返回当前缓冲区中的字节.由于TCP数据是流,因此返回多少字节无关紧要.

现在的问题是:

  • 如果没有可用数据,非阻塞UDP套接字也会返回WOULDBLOCK(linux)/ WSAEWOULDBLOCK(windows).但是如果有数据可用,非阻塞UDP套接字只返回一些字节,这可能意味着你只得到一半数据报或UDP套接字总是返回完整的数据报吗?

编辑:

我对"数据报的一半"的意思是:如果我在套接字当前正在接收数据报时调用recv()会发生什么.在那一刻,缓冲区中有一些字节,但数据报尚未完成.

您的解释和评论表示赞赏.谢谢!

sockets udp tcp nonblocking blocking

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

锁定git的策略实现并发?

所以我最近一直在阅读如何设置git服务器,并且发现根本不需要特定的守护进程(只是一个带有文件系统的SSH服务器),我开始更多地了解git如何管理文件引擎盖.

每个提交如何在.objects文件夹中表示以及所有内容如何组合在一起的策略非常巧妙,但似乎没有明确提到这种方法实际上使得git以非常简单的方式实现并发而无需信令服务器.

尽管如此,在某些情况下无法保证并发性,这基本上是在重写历史记录(强制推送)时.在这种情况下,树中是否使用了任何锁定策略来避免并发问题?那里有关于这个主题的更多文档吗?

(在这个SO答案中有关于这个主题的说法,但只是非常简短.)

git concurrency git-push git-filter-branch

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

正则表达式 - PascalCase用下划线小写

我想转换PascalCase属性名称,例如Is24Hour,Is512以JSON风格的小写用下划线(即is_24_hour,is_512使用C#).

到目前为止,我已经走远了,但它不适用于多个数字.

([A-Z])([A-Z0-9][a-z])|([a-z0-9])([A-Z0-9])
Run Code Online (Sandbox Code Playgroud)

用替换表达式($1$3_$2$4)

例如"Is24Hour"变成"Is_24_Hour"(然后是低位的.ToLower()).但"Is512"变成了"Is_51_2".

c# regex

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

使用F#中的Task.WhenAll重写C#代码

我有以下接口方法:

Task<string[]> GetBlobsFromContainer(string containerName);
Run Code Online (Sandbox Code Playgroud)

及其在C#中的实现:

var container = await _containerClient.GetContainer(containerName);
var tasks = container.ListBlobs()
                     .Cast<CloudBlockBlob>()
                     .Select(b => b.DownloadTextAsync());
return await Task.WhenAll(tasks);
Run Code Online (Sandbox Code Playgroud)

当我尝试在F#中重写它时:

member this.GetBlobsFromContainer(containerName : string) : Task<string[]> =
    let task = async {
        let! container = containerClient.GetContainer(containerName) |> Async.AwaitTask
        return container.ListBlobs()
               |> Seq.cast<CloudBlockBlob>
               |> Seq.map (fun b -> b.DownloadTextAsync())
               |> ??
    }
    task |> ??
Run Code Online (Sandbox Code Playgroud)

我坚持最后一行.

如何正确返回Task<string[]>F#?

f# task-parallel-library c#-to-f# async-await

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

无法下载包“runtime.win10-x86.Microsoft.Net.UWPCoreRuntimeSdk.2.1.1”

我正在 Visual Studio 2017 中使用 Mobile App,但是当我第一次创建这个项目并尝试构建它时,发生了以下错误:

Failed to download package 'runtime.win10-x86.Microsoft.Net.UWPCoreRuntimeSdk.2.1.1' from 'https://api.nuget.org/v3-flatcontainer/runtime.win10-x86.microsoft.net.uwpcoreruntimesdk/2.1.1/runtime.win10-x86.microsoft.net.uwpcoreruntimesdk.2.1.1.nupkg'.
The HTTP request to 'GET https://api.nuget.org/v3-flatcontainer/runtime.win10-x86.microsoft.net.uwpcoreruntimesdk/2.1.1/runtime.win10-x86.microsoft.net.uwpcoreruntimesdk.2.1.1.nupkg' has timed out after 100000ms.        
Run Code Online (Sandbox Code Playgroud)

我搜索并发现有人建议我应该将我的 DNS 服务器从 8.8.8.8 更改为 208.67.222.222 但它没有用。

我怎么解决这个问题?

c# compiler-errors visual-studio nuget

8
推荐指数
2
解决办法
6438
查看次数

如何将pkg-config名称映射到yum/apt-get

许多makefile使用pkg-config,但名称与包管理器无关(例如yum/apt).如何将pkg-config名称映射到它们?有诀窍吗?

示例:如果我这样做yum searchName- 查看名称并接近pkg-config的名称

结果:

$ pkg-config --libs dbus-glib-0
Package dbus-glib-0 was not found in the pkg-config search path.
Perhaps you should add the directory containing `dbus-glib-0.pc'
to the PKG_CONFIG_PATH environment variable
No package 'dbus-glib-0' found

$ sudo yum install dbus-glib
Loaded plugins: langpacks, refresh-packagekit
Package dbus-glib-0.100-5.fc19.i686 already installed and latest version
Nothing to do

$ sudo yum install dbus-glib-0
Loaded plugins: langpacks, refresh-packagekit
No package dbus-glib-0 available.
Error: Nothing to do
Run Code Online (Sandbox Code Playgroud)

apt pkg-config yum apt-get

7
推荐指数
2
解决办法
3222
查看次数