如何构造MSBuild ItemGroup以排除.svn目录和(递归)中的所有文件.我有:
<ItemGroup>
<LibraryFiles Include="$(LibrariesReleaseDir)\**\*.*" Exclude=".svn" />
</ItemGroup>
Run Code Online (Sandbox Code Playgroud)
目前,但这并没有排除任何东西!
我想知道在.NET中设置文件背后的魔力是什么.想象一下,如果你创建了一个在这个例子中调用的程序集SettingsHolder,你可以在用户模式下创建一个带有字符串的公共设置类,然后编译.
现在您在MyApp中引用程序集,然后编译然后您可以使用生成的设置类更改设置应用程序中的值SettingsHolder并保留它们.
现在进入MyApp的输出目录,并且没有设置的跟踪(应用程序配置文件中没有任何内容,程序集中没有任何内容,没有任何内容!).
到底是怎么回事?!(我试图在.NET源代码中使用步骤调试,并且反射器看看发生了什么,.NET似乎使用了LocalFileSettingsProvider(但对我来说这似乎很奇怪,因为MyApp.exe.config输出目录中没有任何内容).
我想为开发目的生成证书,但我不想在商店中安装证书.
makecert-pe如果指定输出文件,则交换机不会创建私钥.
当我尝试.pfx通过导出使用创建的证书创建文件时makecert,它会要求输入密码来保护私钥; 我想我不能将它用于我的WCF服务,因为配置文件没有关于密码的信息......
为什么在地狱中这么复杂?您是否知道一个简单的工具,只需一个简单的步骤即可在没有密码的文件中创建带私钥的证书?
我习惯按shift + F7在我的代码后面和设计器之间切换(加载需要1到5秒)然后我总是要点击View Xaml来修改我的XAML代码.
我没有找到工具/选项/键盘中的任何快捷方式(从代码隐藏到XAML代码).我怎样才能做到这一点 ?
我想知道一些事情,我知道为了让你的测试更容易,你应该在单元测试期间使用mock来测试你想要的组件,而不需要外部依赖.但在某些时候,你必须咬紧牙关并测试与数据库,文件,网络等交互的类.
我的主要问题是:你如何测试这些课程?
我不认为在我的CI服务器上安装数据库是一种很好的做法,但你有其他选择吗?
我是否应该使用其他CI工具创建另一个服务器,具有所有外部依赖性?
我应该像我的单元测试一样经常在我的CI上运行集成测试吗?
也许全职人员应该负责手动测试这些组件?(或负责创建测试环境并配置类和外部依赖关系之间的交互,例如编辑应用程序的配置文件)
我想知道你在现实世界中是怎么做的.
我对在代码中使用锁有一种非常糟糕的感觉,但现在WindowBase的Dispatcher存在,我想在任何地方使用它.
例如,我使用多线程单例WCF服务,它在PRISM的EventAggregator上发布事件,有效负载是不可变的(它只是数据),每个带调度程序的线程都可以优雅地检索事件,在自己的调度程序中完成死锁.(不仅是UI线程,还有具有数据库调用的线程,具有服务调用的线程,具有慢速调用的日志或其他线程的线程,因为我不想冻结UI).
但我的问题是这个Dispatcher与WPF结合在一起,所以当我到处使用它时我感到有点内疚,我觉得调度程序不是为我的用例而创建的.
是否存在另一个不与WPF结合的Dispatcher实现?或者可以滥用它?
谢谢,
更新
Paul Stovell给我的解决方案是创建一个接口IDispatcher,以及一个Wpf Dispatcher的适配器,所以这将更容易测试!这个解决方案对我有好处,因为我重构了我的测试,我现在可以在我的测试中使用SynchronousDispatcherAdapter(感谢它,我不必在我的测试中使用WPF的Dispatcher).
使用Dispatcher而不是BackgroundWorker是有道理的,因为我使用的是多发布者/订阅者模式(使用PRISM),并且由于Dispatcher,每个事件处理程序都会在订阅它们的事件上调用.这意味着可能发生多线程问题的唯一一点是我的事件的有效负载(我使他成为不可变的).
我的不同线程不直接在它们之间进行通信,它们只能发布和订阅事件.因此,数据库调用,日志调用,服务调用,UI调用在不同的线程上运行,彼此不了解(他们只知道他们订阅和发布的事件).
当我从UI访问存储库时,后台工作人员会有意义.
但是我希望在不使用BackgroundWorker的情况下找到一个设计,因为我更喜欢使用这个订阅者/发布者模式(我认为它使我的代码更具可读性)
在MSDN上我们可以阅读:
WS2007HttpBinding类添加了类似于WSHttpBinding的系统提供的绑定,但使用了ReliableSession,Security和TransactionFlow协议的结构化信息标准促进组织(OASIS)标准版本.使用此绑定时,不需要更改对象模型或默认设置.
但我没有找到任何可以解释我的文档为什么我想将wsHttpBinding移动到ws2007HttpBinding,在我看来标准是相同的.
有人可以给我一个很好的解释吗?
我认为拦截请求的唯一方法是使用代理,但是fiddler可以以某种方式拦截HTTP请求和响应,而无需在任何浏览器上配置任何内容.
引擎盖下发生了什么?
你知道任何图书馆吗?(任何语言)
我有一个非常恼人的异常,它冻结了WPF抛出的应用程序,当这个弹出窗口的内容似乎有很多元素时.在输出窗口中,我看到大约50倍的异常.
UIAutomationProvider.dll中发生'System.Runtime.InteropServices.COMException'
然后有时在冻结后我有这个例外:
检测到ContextSwitchDeadlock消息:CLR无法从COM上下文0x3bd0048转换到COM上下文0x3bd01b8 60秒.拥有目标上下文/公寓的线程很可能是在非抽空等待或处理非常长时间运行的操作而不抽取Windows消息.这种情况通常会对性能产生负面影响,甚至可能导致应用程序变得无响应或内存使用量随时间不断累积.为了避免这个问题,所有单线程单元(STA)线程都应该使用抽取等待原语(例如CoWaitForMultipleHandles)并在长时间运行操作期间定期泵送消息.
我的代码中没有使用任何COM组件,有人已经有这个问题吗?
调试器检测到死锁,并且没有任何堆栈跟踪.COM异常堆栈跟踪是:
{"事件无法调用任何订阅者(HRESULT异常:0x80040201)"}
在System.Runtime.InteropServices.Marshal.ThrowExceptionForHRInternal(Int32 errorCode,IntPtr errorInfo)
在MS.Internal.Automation.UiaCoreProviderApi.UiaHostProviderFromHwnd(IntPtr hwnd)
我打电话的时候
popup.IsOpen = true
Run Code Online (Sandbox Code Playgroud) 我知道UDDI和Ws-Discovery之间的区别(熟知搜索服务与广播的位置).但我的问题是:在WCF中发现Web服务的最简单方法是什么?最简单的意思是我已经在WCF中实现了什么并且现在可以使用了?我没有在WCF中看到UDDI或Ws-Discovery的任何内置实现.
您是否有任何链接或经验可以在WCF中分享这两个协议?
UPDATE
现在我正在考虑三种解决方案,等待.NET 4.0上的WS-discovery,或者可能使用WCF提供的Peer to Peer绑定创建自己的发现绑定.这样我就可以广播请求.或者使用eed3si9n链接提供的实现.
我认为我会做一个网关接口,以便轻松改变后面的实现.
.net ×5
wpf ×3
wcf ×2
certificate ×1
discovery ×1
dispatcher ×1
http ×1
integration ×1
msbuild ×1
networking ×1
popup ×1
proxy ×1
security ×1
settings ×1
uddi ×1