我有一个ASP.NET MVC 4 Web应用程序,它通过WCF服务从数据源中检索数据.
我已经设置了大多数控制器Async和后续方法Task.
我遇到了一个问题.如果我的代码中发生异常,则正在加载的页面将继续加载,并在最后超时显示IIS错误页面.
我有一个友好的错误信息设置,并适用于sync行动但不适用async.即使可能在不同级别发生异常,操作也会继续运行.我尝试将该AsyncTimeout属性应用于控制器操作,但没有运气,页面只是长时间加载.
任何想法如何在我的代码中处理这个问题,最好是在全局类型级别,并在async控制器操作出现问题时将用户引导到错误页面?
前几天我安装了Microsoft SQL Server数据工具 - 面向Visual Studio 2013的商业智能(SSDT:替换BIDS),并开始在VS2013中使用报告功能.
使用报表服务器项目向导模板成功创建了一个项目.
但是,稍后我需要SQL Server 2014,然后我下载并安装了开发人员版.(如果这可能导致问题)
现在VS2013中缺少报表服务器项目模板,我不能简单地将它们带回来.
现在我的VS2008具有我想要的功能:

但在VS2013 Professional中没有它们的痕迹:

有什么建议?
devenv.exe /InstallVSTemplates此Microsoft指南/ InstallVSTemplates(devenv.exe)检索未注册的VS2013模板.visual-studio-2008 visual-studio-2013 sql-server-2014 sql-server-data-tools
我正在尝试学习使用Log4Net来改进我的程序中的日志记录技术。我已经阅读了 Log4Net 网站中提供的文档,但是我有这些问题。
这是Log4Net网站上的示例程序中显示的最简单的输出BasicConfigurator.Configure()。
0 [main] INFO MyApp - Entering application.
36 [main] DEBUG Com.Foo.Bar - Did it again!
51 [main] INFO MyApp - Exiting application.
Run Code Online (Sandbox Code Playgroud)
我的程序已经有一个窗格(在调试模式下)来显示程序的流程,该流程在多次异步尝试中循环。所以当我运行它时,我可以看到程序的流程(典型的批量调试方法)。
在这个级别,据我所知,通过使用 Log4Net,我可以收集那些时刻的日志,这些日志可以附加到许多不同的输出方法中,例如控制台、外部文件、数据库等。这导致代码加倍. 在每个测试点中,一行用于将日志输出到 UI,另一行用于 Log4Net 的日志记录。
是否有任何方法可以将其中一个附加程序的内容(例如上面显示的附加程序)输出到字符串或类似类型的变量,以便能够在运行时显示它?
我不确定如何在 WPF 应用程序中看到控制台的输出。将Log4Net输出到文件中,然后将它的竞赛打印回字符串似乎很有趣。
当Show output from:下拉菜单设置为“Debug”时,Console Appender可以在Visual Studio的输出窗口中看到 的输出。非常感谢@Aron 指出。
我想将一个 excel 数据表复制到我的表中,datagridview但我想从我的表所在的特定行(第 9 行)开始(在此之前有标题、评论等,它们不是表的一部分。)我我正在使用以下代码,但它不会从dataset.
MyConnection = New System.Data.OleDb.OleDbConnection("provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + path + ";Extended Properties=Excel 12.0;")
MyCommand = New System.Data.OleDb.OleDbDataAdapter("select * from [Sheet1$]", MyConnection)
DtSet = New System.Data.DataSet
MyCommand.Fill(DtSet)
DtSet.Tables(0).Rows(3).Delete()
DtSet.Tables(0).Rows(3).AcceptChanges()
dataGridArray(selectedTab).DataSource = DtSet.Tables(0)
'MsgBox("number of Row(s) - " & DtSet.Tables(0).Rows.Count)
MyConnection.Close()
Run Code Online (Sandbox Code Playgroud)
后delete()和acceptChanges,我仍然可以看到标题。
有谁可以看到我错在哪里?谢谢你。
我正在尝试构建一个正则表达式,它返回逗号分隔列表中最后一个逗号后的所有内容.
// So if my list is as followed
var tag_string = "red, green, blue";
// Then my match function would return
var last_tag = tag_string.match(A_REGEX_I_CANNOT_FIGURE_OUT_YET);
// Then in last tag I should have access to blue
// I have tried the following things:
var last_tag = tag_string.match(",\*");
// I have seen similar solutions, but I cannot figure out how to get the only the last string after the last comma.
Run Code Online (Sandbox Code Playgroud) 直到最近我才把我的项目的.NET版本从4.5降级到4.0并且Visual Studio开始抱怨某些NuGet软件包需要EntityFramework重新安装再次工作,我从未摆弄过NuGet .所以我去了PM> Update-Package -reinstall EntityFramework,我被分类了.
所以,既然你知道我是如何实现这一点的,那么这些都是我的问题.
EntityFramework在我的解决方案中添加NuGet包.NuGet是否发现我的解决方案需要什么,并自动添加它们?在我的解决方案中,我正在使用EntityKey和EntityState枚举,这需要using System.Data.Entity&using System.Data.Entity.Core.当抱怨没有找到这两个枚举时,Visual Studio添加了这两个命名空间,就像你使用一些LINQ一样,而你却没有using System.Linq.我试图简单地使用下面的Regex反汇编逗号分隔的字符串:
[^,]+
Run Code Online (Sandbox Code Playgroud)
但是,我在C#中使用此正则表达式获得的结果与其他引擎(如在线正则表达式编译器)不同.
C#由于某种原因只检测字符串中的第一个元素,而这就是全部.
我在C#中使用的代码返回: Foo
var longString = "Foo, \nBar, \nBaz, \nQux"
var match = Regex.Match(longString, @"[^,]+");
var cutStrings = new List<string>();
if (match.Success)
{
foreach (var capture in match.Captures)
{
cutStrings.Add(capture.ToString());
}
}
Run Code Online (Sandbox Code Playgroud) 我想UDPListener在后台运行它:
// launch this in a background thread
private static void UDPListen()
{
IPEndPoint remoteEndPoint = new IPEndPoint(IPAddress.Any, 0)
using( var udpClient = new UdpClient(10000))
{
while (true)
{
var buffer = udpClient.Receive(ref remoteEndPoint);
var loggingEvent = System.Text.Encoding.Unicode.GetString(buffer);
// ...
}
}
}
Run Code Online (Sandbox Code Playgroud)
我可以把它放在一个Task.Run()并在while()循环中运行吗?
现在我正在使用 WPF ScrollViewer。
<ScrollViewer Name="uiPageScrollViewer" ScrollViewerHorizontalScrollBarVisibility="Auto">
...
</ScrollViewer>
Run Code Online (Sandbox Code Playgroud)
我正在向 ScrollViewer 添加元素,并HorizontalScrollBar显示在UI
When I try to get uiPageScrollViewer.HorizontalScrollBarVisibilityin code behind it returns Auto。
我怎样才能得到Visibility?什么时候HorizontalScrollBar在 UI 中显示比它应该返回 Visible 其他不符合。
我有一个Label在我的ControlTemplate,我想如果一个触发器发生改变它的内容。我尝试了许多不同的方法,但到目前为止还没有运气。这是我到目前为止可以更改的外观,但是不能更改Content
<Style x:Key="PartOptionsItemStyle" TargetType="{x:Type ListViewItem}" BasedOn="{StaticResource InnerListViewItemsStyle}">
<Style.Setters>
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type ListViewItem}">
<Border>
<Grid>
<Label x:Name="OptionPrice" HorizontalAlignment="Right" Content="{Binding Path=PriceDom}" ContentStringFormat="{}{0:C}" >
<Label.Resources>
<Style TargetType="{x:Type Label}">
<Style.Triggers>
<DataTrigger Binding="{Binding Path=PriceDom}" Value="0">
<Setter Property="Foreground" Value="Red"></Setter>
<Setter Property="Background" Value="Black"/>
<Setter Property="TextBlock.Text" Value="Free" />
</DataTrigger>
</Style.Triggers>
</Style>
</Label.Resources>
</Label>
</Grid>
</Border>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style.Setters>
</Style>
Run Code Online (Sandbox Code Playgroud)
我最初尝试使用如下代码编写此代码,ControlTemplate.Triggers但它甚至没有影响外观。
<ControlTemplate.Triggers>
<Trigger SourceName="OptionPrice" Property="Content" Value="0">
<Setter Property="Foreground" Value="Red" />
</Trigger>
</ControlTemplate.Triggers>
Run Code Online (Sandbox Code Playgroud)
你会怎么做,你会怎么做?
c# ×5
wpf ×3
asynchronous ×2
log4net ×2
regex ×2
.net ×1
asp.net-mvc ×1
async-await ×1
datagridview ×1
dataset ×1
javascript ×1
nuget ×1
oledb ×1
scrollbar ×1
task ×1
templates ×1
triggers ×1
vb.net ×1
wcf ×1