我最近一直在努力解决一个在C#中实施得很糟糕的算法(即开发人员被拉到另一个项目而未能充分记录他所做的事情).
我找到了一个替代方案(来自数字配方),但它是用C++编写的.因此,我认为最安全的方法是将C++包装在DLL中.
请记住,在C#方面我仍然有点绿,并且从未尝试过从头开始创建DLL,这听起来像是一种合理的方法(如果是这样,有人试过这个/得到任何建议)吗?或者我应该全力以赴并尝试将C++例程移植到C#中?
编辑 - 我不是在寻找任何人为我做出决定,但如果有人对任何一条路线有任何表现,我都会有兴趣听到他们的意见和应该避免的任何令人讨厌的陷阱.例如,将C#中的数据列表传递给C++ STL向量有多讨厌?
我有一个java应用程序,它在数据库上执行多个并发CRUD操作.我正在添加对SQLServer的支持,但在并发删除期间遇到死锁问题.经过一些调查后,似乎问题可能是由于特定桌子上的锁升级造成的.
为了解决这个问题,我决定使用UPDLOCK提示对所讨论的表进行所有读取"for update",以便可以避免死锁.但是,我仍然看到了这个问题.我在SQLServer中启用了跟踪,并在SQLServer日志中找到了以下死锁跟踪:
遇到死锁....打印死锁信息等待图
节点:1 KEY:5:72057594042384384(54048e7b3828)CleanCnt:3模式:X标志:0x0授权列表1:所有者:0x03D08C40模式:X Flg:0x0参考:0生命:02000000 SPID:62 ECID:0 XactLockInfo:0x04834274 SPID: 62 ECID:0语句类型:DELETE行#:1输入Buf:语言事件:(@ P0 nvarchar(4000))从part_data中删除part_id = @ P0请求者:ResType:LockOwner Stype:'OR'Xdes:0x04B511C8模式: U SPID:60 BatchID:0 ECID:0 TaskProxy:(0x058BE378)值:0x3d08500成本:(0/1296)
节点:2
KEY:5:72057594042384384(f903d6d6e0ac)CleanCnt:2模式:X标志:0x0授权列表0:所有者:0x03D088A0模式:X Flg:0x0参考:0生命:02000000 SPID:60 ECID:0 XactLockInfo:0x04B511EC SPID:60 ECID: 0语句类型:DELETE行#:1输入Buf:语言事件:(@ P0 nvarchar(4000))从part_data中删除part_id = @ P0请求者:ResType:LockOwner Stype:'OR'Xdes:0x04834250模式:U SPID: 62 BatchID:0 ECID:0 TaskProxy:(0x047BA378)值:0x3d089e0成本:(0/4588)
受害者资源所有者:ResType:LockOwner Stype:'OR'Xdes:0x04B511C8模式:U SPID:60 BatchID:0 ECID:0 TaskProxy:(0x058BE378)值:0x3d08500成本:(0/1296)
SQLServer探查器将此显示为两个持有更新(U)锁并尝试升级到独占(X)锁的客户端.我读过的SQLServer文档说在给定时间只有一个客户端可以在表上有一个(U)锁,所以我想知道为什么我看到跟踪中显示的情况.
该跟踪中引用的数据库对象是外键的索引.如果有经验解决这类问题的人可以提供建议,那将是一个很大的帮助.
谢谢,布拉德.
编辑按要求添加了死锁图xml:
<deadlock-list>
<deadlock victim="process989018">
<process-list>
<process id="process6aa7a8" taskpriority="0" logused="4844" waitresource="KEY: 5:72057594042384384 (5504bdfb7529)" waittime="9859" ownerId="613553" transactionname="implicit_transaction" lasttranstarted="2009-05-08T11:52:39.137" XDES="0x5fcbc30" lockMode="U" schedulerid="1" kpid="3516" status="suspended" spid="59" sbid="0" ecid="0" priority="0" transcount="2" lastbatchstarted="2009-05-08T11:52:39.183" …Run Code Online (Sandbox Code Playgroud) 在我的自定义WPF控件中,我想获得一个包含Window或Page.当控件在窗口化的应用程序中时,Window.GetWindow()方法工作正常但是当它在浏览器中的XBAP应用程序中时,它返回浏览器窗口而不是页面.
有没有其他方法可以做到这一点?
我已经开始遇到我的VPS问题,因为它会在所有网站上提供服务.它只是显示一个空白页面,或者提供下载php文件(幸运的是代码不在下载文件:)).服务器仍在运行,但这似乎是PHP的问题,因为我可以登录WHM.
如果我重新启动apache,这些网站将再次运行.
经过与服务器支持的一些谈话,他们告诉我这是APC扩展的一个问题,他们认为这是旧的,不推荐用于生产服务器.所以他们暂时删除了它,看看是否会继续出现同样的失败.
我没有在任何地方看到APC可能会遇到一些问题,或者并不总是建议使用它,恰恰相反......在任何地方人们都说它总是使用它.
APC扩展安装了ssh,是最新版本.
编辑: 他们也不建议MemCache,并说更可靠的扩展将是eAccelerator
我希望ListItems以其橙色背景扩展为Listbox的整个宽度.
目前它们只与FirstName + LastName一样宽.
我已将每个元素设置为:HorizontalAlignment ="Stretch".
我希望ListboxItems的背景随着用户拉伸列表框而扩展,因此我不想输入绝对值.
我需要做什么才能使ListBoxItems的背景颜色填充ListBox的宽度?
<Window x:Class="TestListBoxSelectedItemStyle.Window1"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:local="clr-namespace:TestListBoxSelectedItemStyle"
Title="Window1" Height="300" Width="300">
<Window.Resources>
<local:CustomerViewModel x:Key="TheDataProvider"/>
<DataTemplate x:Key="CustomerItemTemplate">
<Border CornerRadius="5" Background="Orange" HorizontalAlignment="Stretch" Padding="5" Margin="3">
<StackPanel Orientation="Horizontal" HorizontalAlignment="Stretch" Width="Auto">
<TextBlock HorizontalAlignment="Stretch">
<TextBlock.Text>
<MultiBinding StringFormat="{}{0} {1}">
<Binding Path="FirstName"/>
<Binding Path="LastName"/>
</MultiBinding>
</TextBlock.Text>
</TextBlock>
</StackPanel>
</Border>
</DataTemplate>
</Window.Resources>
<Grid>
<ListBox ItemsSource="{Binding Path=GetAllCustomers, Source={StaticResource TheDataProvider}}"
ItemTemplate="{StaticResource CustomerItemTemplate}"/>
</Grid>
</Window>
Run Code Online (Sandbox Code Playgroud) 好的,所以printf/sprint/vprintf都接受某种类型说明符语法%[num] [type].(http://us2.php.net/sprintf参见示例3和4)其中num是该类型的索引.
示例:vprintf('Number%1 $ d string%2 $ s.String%2 $ s,number%1 $ d',array(1,"no"));
是的,它是有限的......你需要维护索引.但它本土的语言和(我认为)快速.
我只想想一下这对于第二阶段是多么有用,如下所示:http://www.techfounder.net/2008/11/18/oo-php-templating/.
(如果有人知道printf/vprintf的速度,将不胜感激)
我正在谈论的完整例子:
frontpage.php:
<html>
<head>
<title> %1$s </title>
</head>
<body>
Hello %2$s! You have reached page: %1$s!
</body>
</html>
whatever.php:
ob_start();
include frontpage.php;
$ob_output = ob_get_clean();
vprintf($ob_output,"Page Title","Bob");
假设我的HTML页面中有多个表(没有'id'属性),那么如何使用jQuery选择器选择第一个表的第一行或任何特定的表?
我需要编写一个shell脚本来安排每天运行以使用mercurial备份目录.我已经完成了大部分用例,除了我可以找到一种在脚本运行时进行自动登录的方法.
for REPOSITORY in $@
do
cd $REPOSITORY
# commit the changes
hg commit -A -m "Commit changes `date`"
# push the changes to the remote repository
if hg push
then
logger hg push success
else
logger hg push failure
fi
done
Run Code Online (Sandbox Code Playgroud)
发出hg push命令后会显示登录提示.
我正在研究Java,.NET和Groovy中的企业应用程序的开发.对于每个平台,我们将尝试实现简单的SOAP Web服务是多么困难.我们将使用最常用的工具和库,尽可能准确地研究现实世界.
在这方面,当使用Hibernate进行持久化时,它会更好地反映真实世界使用新的JPA(Java Persistence API),还是JPA出现之前存在的Hibernate自定义API?
我使用的NSDateFormatter在模拟器中运行良好,但是当我在iPhone中运行它时,我得到一个零.我将日期硬编码以确定格式,但无论如何它都会失败.
NSString *strPubDate = @"Fri, 8 May 2009 08:08:35 GMT";
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setFormatterBehavior:NSDateFormatterBehavior10_4];
[dateFormatter setDateFormat:@"EEE, d MMM yyyy HH:mm:ss Z"];
NSDate *myDate = [dateFormatter dateFromString:strPubDate];
Run Code Online (Sandbox Code Playgroud)
我尝试在iPhone上使用不同的区域设置,语言等.什么出了什么问题?
php ×2
apache ×1
apc ×1
backup ×1
c# ×1
c++ ×1
caching ×1
cocoa ×1
date ×1
deadlock ×1
dll ×1
dvcs ×1
function ×1
hibernate ×1
iphone ×1
java ×1
jdbc ×1
jpa ×1
jquery ×1
listboxitem ×1
login ×1
mercurial ×1
objective-c ×1
persistence ×1
port ×1
shell ×1
spring ×1
sql-server ×1
templates ×1
templating ×1
transactions ×1
wpf ×1
wpf-controls ×1
xaml ×1