小编Rob*_*ert的帖子

如何从源代码构建F#编译器

最近宣布F#编译器源在apache许可下可用之后,我决定我想从源代码构建编译器.但是,由于似乎缺少文件"Microsoft.FSharp-proto.Targets",我在第一篇文章中失败了.这与"Microsoft F#,2010年8月社区技术预览版"中提供的"Microsoft.FSharp-proto.Targets"相同吗?构建编译器还需要哪些其他步骤.F#团队是否会提供一个"正常工作"来构建编译器的脚本?

f#

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

使用wsHttpBinding并且没有Windows安全性的WCF会话

我需要创建一个托管在IIS中的WCF服务,使用http传输并在服务器的内存中保存状态.虽然我知道有状态服务并不是一个好主意,但最后的约束对于使服务与传统客户端一起工作是必要的.

我的第一个想法是asp.net的会话来存储值.我在我的服务中激活了asp.net兼容模式,这使我可以访问HttpContext,但是放在会话对象中的值没有被保存在内存中.我认为这是因为处理会话状态的http模块没有正确配置,但是当我在网上搜索答案时,WCF会话并认为使用它们可能更好.

但是,WCF会话似乎是在文档下面并在服务上放置了一组奇怪的先决条件,而且我无法找到适合我需要的配置:必须在IIS中托管,必须使用http或https传输并且可以不回复Windows身份验证,因为客户端和服务器不属于同一个域.我试图使用wsHttpBinding来实现这一点,我听说过WCF会话需要安全性或可靠的消息,但是: - 使用标准绑定,当服务器不属于同一个域时,它会失败并出现"SecurityNegotiationException调用者没有通过服务"例外验证.这是相当合理的,因为它使用的是Windows安全性.

  • 如果我禁用安全性完成,它将失败并显示"合同需要会话,但绑定'WSHttpBinding'不支持它或未正确配置以支持它."

  • 如果在保持安全性被禁用的同时启用可靠消息,我会收到异常"绑定验证失败,因为WSHttpBinding不支持基于传输安全性的可靠会话(HTTPS).无法打开通道工厂或服务主机.使用消息安全性实现HTTP上安全可靠的消息传递."

  • 我已经尝试启用传输级安全性,但这似乎对生成的错误没有任何影响

有没有可能对我有用的配置?或者我应该回到使用asp.net会话的计划?

.net wcf wcf-binding wcf-security wcf-sessions

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

.NET的正则表达式图灵是否完整?

正则表达式通常被指向不完全转换的语言的经典示例.例如,"正则表达式"作为这个SO问题的答案给出,寻找不是图灵完整的语言.

在我的,或许有点基本的,理解转向完整性的概念,这意味着不能使用正则表达式检查"平衡"的模式.平衡意义具有与结束字符相同数量的开始字符.这是因为要做到这一点需要你有某种状态,以允许你匹配开始和结束字符.

然而,正则表达式的.NET实现引入了平衡组的概念.此构造旨在让您回溯并查看先前的组是否匹配.这意味着.NET正则表达式:

^(?<p>a)*(?<-p>b)*(?(p)(?!))$
Run Code Online (Sandbox Code Playgroud)

可以匹配以下模式:

ab
aabb
aaabbb
aaaabbbb
... etc. ...
Run Code Online (Sandbox Code Playgroud)

这是否意味着.NET的正则表达式是图灵完成的?或者还有其他缺少的东西,这些语言需要图灵完成吗?

.net regex computer-science turing-machines turing-complete

11
推荐指数
2
解决办法
1762
查看次数

使用.NET GUI创建Haskell应用程序

我想用.NET gui创建一个Haskell应用程序.我想使用cabal作为我的构建工具来利用它的包管理等.我认为Haskell部分应该是调用.NET代码的可执行文件:

  1. 这样就不必手动初始化Haskell RTC,如下所述:http://www.haskell.org/ghc/docs/7.0.3/html/users_guide/win32-dl​​ls.html

  2. cabal无法轻松生成Windows dll:http://www.haskell.org/haskellwiki/Cabal/Developer-FAQ#Building_DLLs__with_Cabal

我发现创建一个使用hs-dotnet调用.NET的Haskell可执行文件相当容易,但我还需要我的GUI代码才能回调到Haskell.我希望使用Haskell的"外部导出"命令来实现这一点,然后通过.NET native interop调用这个导出的函数.但是,"外部导出"功能似乎没有在可执行文件中创建入口点,当我dumpbin /EXPORTS对生成的可执行文件执行操作时,我看不到入口点.我不确定这是否是因为GHC仅在通过-shared交换机创建dll时创建入口点,或者cabal是否添加了禁止创建入口点的标志.

所以我想问题是如何强制GHC在我的Windows可执行文件中创建入口点?或者我会更好地使用.NET可执行文件,通过必要的步骤创建一个带有cabal的Haskell dll并手动初始化Haskell RTC?

haskell cabal

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

找到正在调试我的进程的Visual Studio的pid

我知道我可以通过调用.NET中的Debugger.IsAttached来查找是否正在调试进程,但是我希望能够获得调试进程的Visual Studio的PID.这可能吗?

.net c# debugging visual-studio

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

停止 github 动作矩阵案例

我想对不同的构建类型使用 github 操作矩阵,但我对支持该矩阵的一种情况不感兴趣。如何阻止此案例运行,但仍能成功标记构建。

在这种特殊情况下,我想构建 Windows 和 Ubuntu、32 位和 64 位,但我对在 Ubuntu 上支持 32 位不感兴趣。所以我的矩阵是:

    strategy:
      fail-fast: false
      matrix:
        os: [windows-latest, ubuntu-latest]
        platform: ['x64', 'x86']
Run Code Online (Sandbox Code Playgroud)

我当前的解决方案是通过添加 if 表达式来停止每个操作的运行:

    - name: Build Native
      if: ${{ ! (matrix.os == 'ubuntu-18.04' && matrix.platform == 'x86') }}
Run Code Online (Sandbox Code Playgroud)

虽然这工作正常,但我觉得应该有一种更优雅的方法来解决这个问题。谁能帮我让我的 yaml 脚本更漂亮吗?

yaml github-actions

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

测试容错代码

我目前正在研究服务器应用程序,我们已同意尝试并维持一定的服务水平.我们要保证的服务级别是:如果服务器接受了请求,并且服务器向客户端发送确认,我们要保证请求将发生,即使服务器崩溃.由于请求可以长时间运行并且确认时间需要很短,我们通过持久化请求,然后向客户端发送确认,然后执行各种操作来完成请求来实现.当执行操作时,它们也是持久的,因此服务器知道启动时请求的状态,并且还有与外部系统的各种协调机制来检查我们的日志的准确性.

这一切看起来都运行得相当好,但是我们很难说有任何信念,因为我们发现很难测试我们的容错代码.到目前为止,我们已经提出了两个策略,但两者都不完全令人满意:

  • 让外部进程监视服务器代码,然后尝试在外部进程认为是测试中的适当点时将其终止
  • 添加代码应用程序将导致它崩溃某些已知的关键点

我的第一个策略的问题是外部进程无法知道应用程序的确切状态,因此我们无法确定我们是否遇到了代码中最有问题的问题.我的第二个策略的问题,虽然它给出了更多的控制权,但是我不喜欢让代码在我的应用程序中注入错误,即使是可选的编译等等.我担心过于容易看错注入点,让它滑入生产环境.

testing fault-tolerance

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

Windows phone 7按钮"边框"

默认情况下,WP7按钮被5个像素的黑色空间包围.我想删除它,但我已经尝试将Margin,BorderThickness,Padding属性设置为零的思考,但这似乎对这个神秘的空间没有影响.任何线索究竟是什么空间是什么以及如何摆脱它.

谢谢,

罗伯特

silverlight-3.0 windows-phone-7

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

使用内部构造函数为抽象类创建动态代理

我想为 BCL 中的类型创建动态代理,该类型是具有内部构造函数的抽象类。我一直是城堡的动态代理,这失败了,但有一个例外,指出没有无参数构造函数(它们是 - 它是内部的)。

有没有办法用城堡来实现这一目标?如果不是,其他任何动态代理框架都能够做到这一点吗?这是开发的开始,因此更改框架很容易。

c# proxy castle-dynamicproxy dynamic dynamic-proxy

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

通过 Win32 API 从服务创建 Windows 会话

我有一个 Windows 服务,它可以通过调用“CreateProcessAsUser”函​​数在用户 Windows 会话中创建一个可执行文件。只要那里已经有一个 Windows 会话,这就可以正常工作。如果还没有一个,我希望能够以编程方式创建一个。这是可能的吗?似乎无法找到一个功能来做到这一点。

windows winapi

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

在.NET中查找进程树

我正在寻找一种使用C#或其他.NET语言查找进程树(如Process Explorer之类的工具所示)的简便方法。查找另一个进程的命令行参数也很有用(System.Diagnostics.Process上的StartInfo似乎对当前进程以外的其他进程无效)。

我认为这些事情只能通过调用win32 api来完成,但是我很高兴被证明是错误的。

.net c# windows interop

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

同时使用silverlight datepicker和timepicker

我正在使用工具包中的Silverlight DatePicker和TimePicker来允许用户选择日期和时间.它们绑定在场景后面的业务对象上的相同DateTime值.这通常可以正常工作,除非更改日期组件时擦除时间组件.这有点合乎逻辑,但可能不是用户想要的行为.

我有几种方法可以解决这个问题:

  • 将日期和时间组件存储在不同的值中(不是那个hacky,而是一点点anonying,因为我要将结果值存储为db中的一个字段)
  • 当SelectedDateChanged事件触发时尝试并修复时间组件(这似乎是一个非常hacky的解决方案)

我希望能够告诉DatePicker控件:只需在更改日期时保留时间组件.我希望得到太多吗?

data-binding silverlight mvvm

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

确定分层群集中的组

我有一个算法可以将数据分组到一个分层的集群树.该算法是Toby Seagram的编程集体智能中描述的算法.树输出是一个二叉树,每个节点都有一个"距离"值,告诉你两个子节点之间的距离.

然后,我可以将其显示为树状图,这使得人体点很容易将值组合在一起.但是我很难想出一个能够自动决定组应该是什么的算法.我希望能够自动确定:

  • 团体数量
  • 应该在每个组中放置哪些点

这有标准算法吗?

machine-learning hierarchical-clustering

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