我想格式化我的字符串绑定,因为Amount is Xwhere X是绑定到标签的属性.
我见过很多例子,但以下内容不起作用:
<Label Content="{Binding Path=MaxLevelofInvestment,
StringFormat='Amount is {0}'}" />
Run Code Online (Sandbox Code Playgroud)
我也试过这些组合:
StringFormat=Amount is {0}
StringFormat='Amount is {}{0}'
StringFormat='Amount is \{0\}'
Run Code Online (Sandbox Code Playgroud)
我甚至尝试将绑定属性的数据类型更改为int,string和double.似乎没什么用.这是一个非常常见的用例,但似乎不受支持.
我看到Enum.GetValues返回基Array类型并Enum.GetNames返回一个string数组.但我不明白这是多么重要.对于enum反正,该值是字符串.
但是,存在一个相关的问题.该DataGridView ComboBox列数据绑定到一个enum如果我给DataSource= Enum.GetValues,但它不是数据绑定当我给它Enum.GetNames作为DataSource.
我试图让我的头围绕异步/等待,并认为我确实理解了一些关于使用的事情.但仍然不太清楚在下面的场景中实际的好处是什么.
查看Task.Run用法.第一种方法使用普通委托并使用Thread.Sleep,但第二种方法使用'async'委托和Task.Delay.
我的问题是:这对这种方法有什么影响(或者它没有)?
该方法本身是一种异步方法.代码正在创建一个单独的线程(通过Task.Run),除了执行该委托之外,该线程没有其他任何操作.因此,即使它在Task.Delay上产生等待,在这种情况下有什么用处,因为线程无论如何都是一个孤立的线程没有用于任何其他东西,即使它只是使用Thread.Sleep,线程仍然是上下文切换到处理器的其他线程.
// The task thread uses a async delegate
public async Task<bool> RetrySendEmail(MailMessage message)
{
bool emailSent = false;
await (Task.Run(***async ()*** =>
{
for (int i = 0; i < 3; i++)
{
if (emailSent)
break;
else
// Wait for 5 secs before trying again
***await Task.Delay(5000);***
try
{
Smtphost.Send(message);
emailSent = true;
break;
}
catch (Exception e) { emailSent = false; // log; }
}
return emailSent;
}));
}
// The task thread uses a …Run Code Online (Sandbox Code Playgroud) 我们在Windows服务中托管了大约15个wcf服务.其中一些在.NET 4.0中,一些在.NET 3.5中.
我想知道如何对Windows服务中托管的wcf服务执行加载/压力/性能测试.客户端使用.net tcp绑定与服务进行通信.此外,大多数API都会为了性能而返回一个流.
我能够找到一些用于在IIS中托管的wcf服务测试的工具,但是不知道对窗口服务中托管的服务进行加载/压力/性能测试的方法.
任何帮助表示赞赏.谢谢.
performance wcf windows-services stress-testing load-testing
我想在我的.Net4.0 dll中加载一个.NET 2.0 dll.我确实搜索了解决方案并找到了'useLegacyV2RuntimeActivationPolicy'属性,我可以将其添加到我的app.config中,如此URL:混合模式程序集是针对版本'v1.1.4322'构建的
但问题是,在我的情况下,我试图在我的4.0 DLL中使用.net2.0 dll,而不是在4.0 exe中.原因是这个4.0 dll然后在Excel中用作自动化插件.
目前,当我从Excel处理我的.NET 4.0 API(为一个功能加载2.0 dll)时,我得到'混合模式2.0 dll无法在4.0运行时加载',这是可以理解的,因为COM加载了4.0 CLR,因此无法加载2.0 dll.
不知何故,我需要使我的4.0 DLL加载2.0运行时.我尝试将app.config添加到4.0 dll但我猜只有.exe默认读取app.config才能加载clr.这是我在4.0 dll项目中的app.config中所拥有的,但没有用.
<?xml version="1.0"?>
<configuration>
<startup useLegacyV2RuntimeActivationPolicy="true">
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0"/>
</startup>
<runtime>
<NetFx40_LegacySecurityPolicy enabled="true"/>
</runtime>
</configuration>
Run Code Online (Sandbox Code Playgroud)
如何解决此问题以使我的.NET 4.0 DLL能够使用.NET 2.0 DLL?
谢谢,玛尼
我使用Excel Dna创建.NET xlls并在我的addin和excel工作表函数中使用它.我还使用ExcelDnaPack.exe打包我的xll.
我想知道excel dna是否支持,为我的库API生成文档的任何方法.
谢谢,玛尼
我基本上是一个.NET GUI程序员,并且已经使用了很多WPF,Winforms,并且还使用过WCF.我加入了一家银行的新工作,我们正在编写一个新软件来取代现有的交易应用程序.这涉及基于WCF服务的大量工作,我们需要使用/实现许多与SOA相关的概念,如消息代理,pub-sub模式,消息总线等.因此,基本上意味着很多服务器端和分布式编程以我的方式先 !我们现在使用简单的WCF服务来完成我们的服务层工作,但目的是使其更具可扩展性,健壮性,安全性和可靠性.
我有一本基本的WCF书,但想知道是否有更专业的SOA,基于分布式架构的书(基于.NET,WCF或可能不是),可以快速帮助我完成服务器端编程的曲线.可能会谈到CEP,EDA等.
非常感谢,Mani
我有一个数据加载场景,我在其中创建动态SQL查询以在我们的服务中提取数据和缓存.有1个表包含所有产品数据:ProductHistory(47列,200,000条记录+并将继续增长)
我需要的是: 使用最大ID,最大版本和最大更改来获取最新产品.
第一次尝试:
SELECT distinct Product.* FROM ProductHistory product
WHERE product.version =
(SELECT max(version) from ProductHistory p2 where product.Id = p2.Id
and product.changeId =
(SELECT max(changeid) from ProductHistory p3 where p2.changeId = p3.changeId))
Run Code Online (Sandbox Code Playgroud)
这耗时超过2.51分钟.
其他失败的尝试:
select distinct product.* from ProductHistory product
where CAST(CAST(id as nvarchar)+'0'+CAST(Version as nvarchar)+'0'+CAST(changeid as nvarchar) as decimal) =
(select MAX(CAST(CAST(id as nvarchar)+'0'+CAST(Version as nvarchar)+'0'+CAST(changeid as nvarchar) as decimal)) from ProductHistory p2
where product.Id = p2.Id)
Run Code Online (Sandbox Code Playgroud)
它基本上使用与订购日期时相同的原则,连接按相关性排序的数字.
For example 11 Jun 2007 = 20070711
And in …Run Code Online (Sandbox Code Playgroud) 我想试试看,这里发生了什么?编译器生成什么样的代码?
public static void vc()
{
var listActions = new List<Action>();
foreach (int i in Enumerable.Range(1, 10))
{
listActions.Add(() => Console.WriteLine(i));
}
foreach (Action action in listActions)
{
action();
}
}
static void Main(string[] args)
{
vc();
}
Run Code Online (Sandbox Code Playgroud)
输出: 10 10 .. 10
根据这个,ActionHelper的新实例会为每次迭代创建.那么在这种情况下,我认为它应该打印1..10.有人能给我一些编译器在这里做的伪代码吗?
谢谢.
我正在学习使用RX并试用这个样本.但是无法修复突出显示的while语句中发生的异常 - 而(!f.EndofStream)
我想逐行读取一个巨大的文件 - 对于每一行数据 - 我想在不同的线程中进行一些处理(所以我使用了ObserverOn)我希望整个事情都是异步的.我想使用ReadLineAsync,因为它返回TASK,所以我可以将它转换为Observables并订阅它.
我想我首先创建的任务线程介于Rx线程之间.但即使我使用currentThread使用Observe和Subscribe,我仍然无法阻止异常.不知道我是如何用Rx完成这个整齐的Aysnc.
想知道整件事情是否可以做得更简单?
static void Main(string[] args)
{
RxWrapper.ReadFileWithRxAsync();
Console.WriteLine("this should be called even before the file read begins");
Console.ReadLine();
}
public static async Task ReadFileWithRxAsync()
{
Task t = Task.Run(() => ReadFileWithRx());
await t;
}
public static void ReadFileWithRx()
{
string file = @"C:\FileWithLongListOfNames.txt";
using (StreamReader f = File.OpenText(file))
{
string line = string.Empty;
bool continueRead = true;
***while (!f.EndOfStream)***
{
f.ReadLineAsync()
.ToObservable()
.ObserveOn(Scheduler.Default)
.Subscribe(t =>
{
Console.WriteLine("custom code to manipulate every …Run Code Online (Sandbox Code Playgroud) .net ×6
c# ×5
async-await ×2
wcf ×2
.net-4.5 ×1
binding ×1
clr ×1
com ×1
com-interop ×1
distributed ×1
excel ×1
excel-dna ×1
lambda ×1
load-testing ×1
performance ×1
soa ×1
sql ×1
sql-server ×1
wpf ×1
wpf-controls ×1
wpfdatagrid ×1
wpftoolkit ×1