在文件解锁并且可以读取和重命名之前,阻塞线程的最简单方法是什么?例如,.NET Framework中的某个地方是否存在WaitOnFile()?
我有一个服务,使用FileSystemWatcher查找要传输到FTP站点的文件,但文件创建事件在另一个进程写完文件之前触发.
理想的解决方案将有一个超时期限,因此线程在放弃之前不会永久挂起.
编辑:在尝试下面的一些解决方案后,我最终更改系统,以便所有文件写入Path.GetTempFileName(),然后执行File.Move()到最终位置.一旦FileSystemWatcher事件被触发,该文件就已经完成.
我已经看到可以从街道地址获取纬度和经度(地理编码,就像在Google Maps API中一样),但是当你知道纬度/长度已经是什么时,是否可以反过来获取街道地址?
该应用程序将是一个iPhone应用程序(以及该应用程序已经知道lat/long的原因),因此从Web服务到iPhone API的任何工作都可以.
有没有人开发过软件错误的百科全书或维基,无论是错误类型(一个一个,缓冲区溢出等),还是只是着名的错误(Grace Hopper的飞蛾,Arianne火箭失败等)?
我认为,对于困难的情况,交叉引用的bug类型,示例和错误症状的百科全书将有助于程序员.特别是如果可以搜索错误如何表现自己(崩溃,输出错误,内存泄漏等).
我有一个网格:
<Grid.RowDefinitions>
<RowDefinition Height="100"/>
<RowDefinition Height="*"/>
</Grid.RowDefinitions>
Run Code Online (Sandbox Code Playgroud)
第二行是scrollviewer:
<ScrollViewer VerticalScrollBarVisibility="Auto" MinHeight="400" Grid.Row="1">
<ItemsControl ItemsSource="{Binding SelectedUserControls}"/>
</ScrollViewer>
Run Code Online (Sandbox Code Playgroud)
如果需要,我希望第二行使用滚动,但滚动是永远不可见的,如果项目控件比屏幕大,则为事件.
如何在需要时显示滚动?
我正在研究iPhone应用程序的可行性,并且在Apple的文档中找不到任何迹象表明iPhone应用程序可以读取手机的通话记录,特别是所谓的号码/地址簿条目,以及持续时间.
有谁知道这是否可能,以及如何?
注意:目的是消除用户自己执行此数据输入的需要.该应用程序用于记录与客户服务中心的交互.
有没有快速的方法来确定object变量的内容是否支持IEnumerable?具体来说我使用XPathEvaluate()从System.Xml.XPath,它可以返回" 它可以包含一个bool,双,字符串,或一个IEnumerable的对象. "
所以执行后:
XDocument content = XDocument.Load("foo.xml");
object action = content.XPathEvaluate("/bar/baz/@quux");
// Do I now call action.ToString(), or foreach(var foo in action)?
Run Code Online (Sandbox Code Playgroud)
我可以随便找一下action.GetType().GetInterface(),但我想我会问是否有更快/更简单的方法.
根据MSDN - Panel.InternalChildren属性:
从Panel派生的类 应该使用此属性而不是Children 属性来进行内部重写,例如MeasureCore 和ArrangeCore.
所以,这实际上是一个2部分的问题:
如果我创建了一个我自己的Panel FooPanel,它来自Panel,我似乎无法覆盖MeasureCore或ArrangeCore.我不确定为什么那句话甚至存在.但是,我可以覆盖MeasureOverride和ArrangeOverride.所以,我想知道我是否还需要使用InternalChildren这两种方法的属性.
Children物业和InternalChildren物业之间的真正区别是什么?
我想在运行时使用加载DataTemplate XamlReader,但它抛出异常"前缀'x'不映射到命名空间."
这是我传递给的XML字符串XamlReader:
<xm:ResourceDictionary
xmlns:xm="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:do="clr-namespace:MyLibrary.DataObjects;assembly=MyLibrary.DataObjects"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
<xm:DataTemplate DataType="{x:Type do:ValidationResponse}">
<xm:StackPanel Orientation="Horizontal">
<xm:Label>MessageID</xm:Label>
<xm:TextBox Text="{Binding Path=MessageID}"/>
</xm:StackPanel>
</xm:DataTemplate>
</xm:ResourceDictionary>
Run Code Online (Sandbox Code Playgroud)
这是读它的代码:
ResourceDictionary dictionary = XamlReader.Parse(myXamlString) as ResourceDictionary;
Run Code Online (Sandbox Code Playgroud)
这是有趣的部分,如果我添加x:Key="ValidationResponseTemplate"到DataTemplate它解析没有任何异常.但是,我无法保持这种方式,因为我无法通过程序自己的键来指定DataTemplate .xaml(在运行时获取模板之前它不会知道模板).
该x命名空间中都属于程序自身的定义.xaml和XML的片段,我试图解析.
总体目标:能够提供新的DataTemplates,既可以在运行时更改显示的外观,也可以显示客户端在编译时不知道的XML数据.
我正在编写一个例程,在将数据插入数据库之前对其进行验证,其中一个步骤是查看数值是否符合数字(x,y)SQL-Server类型的精度和比例.
我已经从SQL-Server获得了精度和规模,但是在C#中获得CLR值的精度和规模的最有效方法是什么,或者至少测试它是否适合给定的约束?
目前,我正在将CLR值转换为字符串,然后使用.IndexOf()查找小数点的位置.有更快的方法吗?
我正在寻找或者建立一个URN(统一资源名称)解析器,它将返回给定URN的0或更多URI.
例如:urn:fooid:6e8bc430-9c3a-11d9-9669-0800200c9a66:foo可能会解决http://www.example.com/fooservice/6e8bc430-9c3a-11d9-9669-0800200c9a66/foo.该服务将了解fooid-style URN并知道如何从GUID 查找base-URL(http://www.example.com/fooservice/)并将冒号转换为斜杠以生成完整的URI.
我搜索过"URN解析器",但那里并没有多少.然后我发现 - 由于DNS是以可扩展和分布式的方式快速解析地址,并且因为它已被用于其他应用程序(请参见此处) - 可能它可用于执行基本URL查找部分.
这是否已经完成,是否只是使用传统数据库的实用替代方案?