在最近宣布F#编译器源在apache许可下可用之后,我决定我想从源代码构建编译器.但是,由于似乎缺少文件"Microsoft.FSharp-proto.Targets",我在第一篇文章中失败了.这与"Microsoft F#,2010年8月社区技术预览版"中提供的"Microsoft.FSharp-proto.Targets"相同吗?构建编译器还需要哪些其他步骤.F#团队是否会提供一个"正常工作"来构建编译器的脚本?
我需要创建一个托管在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会话的计划?
正则表达式通常被指向不完全转换的语言的经典示例.例如,"正则表达式"作为这个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 gui创建一个Haskell应用程序.我想使用cabal作为我的构建工具来利用它的包管理等.我认为Haskell部分应该是调用.NET代码的可执行文件:
这样就不必手动初始化Haskell RTC,如下所述:http://www.haskell.org/ghc/docs/7.0.3/html/users_guide/win32-dlls.html
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?
我知道我可以通过调用.NET中的Debugger.IsAttached来查找是否正在调试进程,但是我希望能够获得调试进程的Visual Studio的PID.这可能吗?
我想对不同的构建类型使用 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 脚本更漂亮吗?
我目前正在研究服务器应用程序,我们已同意尝试并维持一定的服务水平.我们要保证的服务级别是:如果服务器接受了请求,并且服务器向客户端发送确认,我们要保证请求将发生,即使服务器崩溃.由于请求可以长时间运行并且确认时间需要很短,我们通过持久化请求,然后向客户端发送确认,然后执行各种操作来完成请求来实现.当执行操作时,它们也是持久的,因此服务器知道启动时请求的状态,并且还有与外部系统的各种协调机制来检查我们的日志的准确性.
这一切看起来都运行得相当好,但是我们很难说有任何信念,因为我们发现很难测试我们的容错代码.到目前为止,我们已经提出了两个策略,但两者都不完全令人满意:
我的第一个策略的问题是外部进程无法知道应用程序的确切状态,因此我们无法确定我们是否遇到了代码中最有问题的问题.我的第二个策略的问题,虽然它给出了更多的控制权,但是我不喜欢让代码在我的应用程序中注入错误,即使是可选的编译等等.我担心过于容易看错注入点,让它滑入生产环境.
默认情况下,WP7按钮被5个像素的黑色空间包围.我想删除它,但我已经尝试将Margin,BorderThickness,Padding属性设置为零的思考,但这似乎对这个神秘的空间没有影响.任何线索究竟是什么空间是什么以及如何摆脱它.
谢谢,
罗伯特
我想为 BCL 中的类型创建动态代理,该类型是具有内部构造函数的抽象类。我一直是城堡的动态代理,这失败了,但有一个例外,指出没有无参数构造函数(它们是 - 它是内部的)。
有没有办法用城堡来实现这一目标?如果不是,其他任何动态代理框架都能够做到这一点吗?这是开发的开始,因此更改框架很容易。
我有一个 Windows 服务,它可以通过调用“CreateProcessAsUser”函数在用户 Windows 会话中创建一个可执行文件。只要那里已经有一个 Windows 会话,这就可以正常工作。如果还没有一个,我希望能够以编程方式创建一个。这是可能的吗?似乎无法找到一个功能来做到这一点。
我正在寻找一种使用C#或其他.NET语言查找进程树(如Process Explorer之类的工具所示)的简便方法。查找另一个进程的命令行参数也很有用(System.Diagnostics.Process上的StartInfo似乎对当前进程以外的其他进程无效)。
我认为这些事情只能通过调用win32 api来完成,但是我很高兴被证明是错误的。
我正在使用工具包中的Silverlight DatePicker和TimePicker来允许用户选择日期和时间.它们绑定在场景后面的业务对象上的相同DateTime值.这通常可以正常工作,除非更改日期组件时擦除时间组件.这有点合乎逻辑,但可能不是用户想要的行为.
我有几种方法可以解决这个问题:
我希望能够告诉DatePicker控件:只需在更改日期时保留时间组件.我希望得到太多吗?
我有一个算法可以将数据分组到一个分层的集群树.该算法是Toby Seagram的编程集体智能中描述的算法.树输出是一个二叉树,每个节点都有一个"距离"值,告诉你两个子节点之间的距离.
然后,我可以将其显示为树状图,这使得人体点很容易将值组合在一起.但是我很难想出一个能够自动决定组应该是什么的算法.我希望能够自动确定:
这有标准算法吗?
.net ×4
c# ×3
windows ×2
cabal ×1
data-binding ×1
debugging ×1
dynamic ×1
f# ×1
haskell ×1
interop ×1
mvvm ×1
proxy ×1
regex ×1
silverlight ×1
testing ×1
wcf ×1
wcf-binding ×1
wcf-security ×1
wcf-sessions ×1
winapi ×1
yaml ×1