小编kno*_*cte的帖子

SHA1纯文本?C#.NET

我正在使用C#并为字符串计算SHA1.我的问题是,这总是产生纯文本0-1和AZ吗?或者它也会产生具有特殊字符的东西?我的意思是ComputeHash函数在这里将返回纯文本?

SHA1CryptoServiceProvider sha1 = new SHA1CryptoServiceProvider();
string receivedValue = BitConverter.ToString(sha1.ComputeHash(to_be_hash)).Replace("-", "");
Run Code Online (Sandbox Code Playgroud)

不确定,但我认为它应该只有在转换为Base 64时才会生成特殊字符.

c# sha1

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

如何在php中使用curl下载文件?

如果标题设置为true,我如何使用Curl下载PHP文件?我还可以获取文件的文件名和扩展名吗?

PHP代码示例:

curl_setopt ($ch, CURLOPT_HEADER, 1);
$fp = fopen($strFilePath, 'w');
curl_setopt($ch, CURLOPT_FILE, $fp);
Run Code Online (Sandbox Code Playgroud)

php curl

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

bash:在while循环中反击(kill和kill -9)

所以我最近了解到kill不是同步命令,所以我在bash中使用while循环,这很棒:

while kill PID_OF_THE_PROCESS 2>/dev/null; do sleep 1; done
Run Code Online (Sandbox Code Playgroud)

但是,有些情况(非常罕见,但它们仍然会发生),其中进程被卡住,并且它不会对kill信号起作用.在这些情况下,杀死应用程序的唯一方法是使用" kill -9 ".

所以我想知道,如果循环已达到第10次迭代,如何在bash中修改上面的while循环以使用-9参数?

bash scripting kill while-loop kill-process

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

C#和Ubuntu - 如何获得主屏幕的大小?

我正在尝试确定主屏幕的大小,以便我可以捕获其图像.我的设置是一台拥有1600x900显示屏的笔记本电脑和一台1920x1080的外接显示器.获取大小的代码在Windows上运行正常,但在Ubuntu上使用MonoDevelop会产生错误的结果.

    Rectangle capture_rect = System.Windows.Forms.Screen.PrimaryScreen.Bounds;
    Console.WriteLine("width={0} height={1}", capture_rect.Height, capture_rect.Width);
Run Code Online (Sandbox Code Playgroud)

Ubuntu的结果是"width = 3520 height = 1080".如果我断开外接显示器,我会得到正确的结果,即"宽度= 1600高度= 900".知道为什么我在具有多个显示器的Ubuntu上得到了错误的值吗?

.net c# ubuntu mono winforms

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

Unity 5.2.2将Visual Studio更改回MonoDevelop

有没有办法将统一的默认脚本编辑器更改为MonoDevelop?使用Visual Studio非常复杂和缓慢.

c# monodevelop unity-game-engine visual-studio

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

在事件查看器(事件日志)中由`iis_ssi.dll加载失败'导致503错误

我在事件日志(EventViewer)中收到此错误:

The Module DLL C:\Windows\System32\inetsrv\iis_ssi.dll failed to load. The data is the error.
Run Code Online (Sandbox Code Playgroud)

操作系统是Windows2012 Server.怎么解决?

iis windows-server-2012

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

尝试在空对象上调用虚拟方法“android.os.Handler android.support.v4.app.FragmentHostCallback.getHandler()”

Attempt to invoke virtual method 'android.os.Handler android.support.v4.app.FragmentHostCallback.getHandler()' on a null object reference
  at android.support.v4.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:1588)
  at android.support.v4.app.FragmentController.execPendingActions(FragmentController.java:330)
  at android.support.v4.app.FragmentActivity.onResume(FragmentActivity.java:441)
  at com.app.rare10.activities.ViewAllMemberActivity.onResume(ViewAllMemberActivity.java:192)
  at com.app.rare10.activities.ViewAllMemberActivity$1.onReceive(ViewAllMemberActivity.java:74)
  at android.support.v4.content.LocalBroadcastManager.executePendingBroadcasts(LocalBroadcastManager.java:297)
  at android.support.v4.content.LocalBroadcastManager.access$000(LocalBroadcastManager.java:46)
  at android.support.v4.content.LocalBroadcastManager$1.handleMessage(LocalBroadcastManager.java:116)
  at android.os.Handler.dispatchMessage(Handler.java:102)
  at android.os.Looper.loop(Looper.java:135)
  at android.app.ActivityThread.main(ActivityThread.java:5254)
  at java.lang.reflect.Method.invoke(Native Method)
  at java.lang.reflect.Method.invoke(Method.java:372)
  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:903)
  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:698
Run Code Online (Sandbox Code Playgroud)

我在我的项目中使用了推送通知,每当我点击我的通知时,我都会收到上面的这个错误。帮助?

android

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

C#:如何设置 DNS 解析超时?

我想检查一个主机是否可以解析?但我不想等待很长时间;所以我想设置一个超时。

我试过了

 public static bool ResolveTest(string hostNameOrAddress, TimeSpan time_out)
 {
     var result = Dns.BeginGetHostEntry(hostNameOrAddress, null, null);
     var success = result.AsyncWaitHandle.WaitOne(time_out);
     if (!success) {
         //throw new Exception("Failed to resolve the domain.");
         return false;
     }
     return true;
 }
Run Code Online (Sandbox Code Playgroud)

但这不能正常工作,因为当它是错误的主机时,它也可以返回 true。那么如何设置 DnsResolve 的超时时间呢?

.net c#

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

F#:只为第一个事件做一次动作,没有可变性/锁定?

我有这个代码下载文件,并在控制台告诉我文件有多大:

use webClient = new WebClient()

let lockObj = new Object()
let mutable firstProgressEvent = true
let onProgress (progressEventArgs: DownloadProgressChangedEventArgs) =
    lock lockObj (fun _->
        if (firstProgressEvent) then
            let totalSizeInMB = progressEventArgs.TotalBytesToReceive / 1000000L
            Console.WriteLine ("Starting download of {0}MB...", totalSizeInMB)
        firstProgressEvent <- false
    )

webClient.DownloadProgressChanged.Subscribe onProgress |> ignore
let task = webClient.DownloadFileTaskAsync (uri, Path.GetFileName(uri.LocalPath))
task.Wait()
Run Code Online (Sandbox Code Playgroud)

有没有办法做同样的事情,但既不使用锁定也不使用可变的变量?

f# locking webclient immutability

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

为什么F#的默认set集合排序而C#的默认集合没有排序?

从C#世界迁移到F#(最惯用的)思维方式时,我发现了这种有趣的区别。

在C#的OOP&mutable世界中,默认的set集合似乎是HashSet,它似乎不是默认排序的(因为它接受的比较器只是为了相等)。而如果要排序的话,则必须使用SortedSet

但是,在F#的世界中,基本set已经被排序,因为它需要用于实现相等比较的元素类型。有什么具体原因吗?为什么在该语言的主要集合中没有无序集合?

作为附带说明,我想知道是否有可能有一个不允许重复的set集合,但是当丢弃某些元素作为重复项时,它优先于某些元素。示例:一条记录​​,{ Name: string; Flag: Option<unit> }以便在插入时{ Name = "foo"; Flag = None }稍后{ Name = "foo"; Flag = Some() }它最终仅包含后一个元素(因为存在Flag)。

.net c# f# set c#-to-f#

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