草庐IT

caching-application-block

全部标签

c# - 在 C# 中,我如何安全地退出带有 try catch block 的锁?

这是一个在锁内发生异常的示例,带有try-catchblock。intzero=0;intj=10;lock(sharedResource.SyncRoot){try{j=j/zero;}catch(DivideByZeroExceptione){//exceptioncaughtbutlocknotreleased}}我如何安全地释放锁扣? 最佳答案 不会自动释放吗?来自MSDN的锁手段System.Threading.Monitor.Enter(x);try{...}finally{System.Threading.Monito

c# - 全局异常过滤器或 Application_Error 都没有捕获未处理的异常

我有一个名为LogErrorAttribute的全局异常过滤器:publicclassLogErrorAttribute:IExceptionFilter{privateILogUtilslogUtils;publicvoidOnException(ExceptionContextfilterContext){if(this.logUtils==null){this.logUtils=StructureMapConfig.Container.GetInstance();}this.logUtils.LogError(HttpContext.Current.User.Identity.G

c# - 如何优化 C# 中数组的复制 block ?

我正在编写一个实时视频成像应用程序,需要加快此方法的速度。目前执行大约需要10毫秒,我希望将其缩短至2-3毫秒。我已经尝试了Array.Copy和Buffer.BlockCopy,它们都需要大约30毫秒,比手动复制长3倍。一种想法是以某种方式将4个字节复制为一个整数,然后将它们作为一个整数粘贴,从而将4行代码减少为一行代码。但是,我不确定该怎么做。另一个想法是以某种方式使用指针和不安全代码来做到这一点,但我也不确定该怎么做。非常感谢所有帮助。谢谢!编辑:数组大小为:inputBuffer[327680]、lookupTable[16384]、outputBuffer[1310720]p

c# - .NET 4 ObjectCache - 我们可以连接到 "Cache Expired"事件吗?

我有一个像这样缓存的简单对象:_myCache.Add(someKey,someObj,policy);_myCache声明为ObjectCache(但通过DI作为MemoryCache.Default注入(inject)),someObj是我正在添加的对象,policy是一个CacheItemPolicy。如果我有这样的CacheItemPolicy:varpolicy=newCacheItemPolicy{Priority=CacheItemPriority.Default,SlidingExpiration=TimeSpan.FromHours(1)};表示1小时后过期。很酷。但

c# - 迭代器 block 和继承

给定一个具有以下接口(interface)的基类:publicclassBase{publicvirtualIEnumerableGetListOfStuff(){yieldreturn"First";yieldreturn"Second";yieldreturn"Third";}}我想创建一个重写方法的派生类,并添加自己的东西,如下所示:publicclassDerived:Base{publicoverrideIEnumerableGetListOfStuff(){foreach(stringsinbase.GetListOfStuff()){yieldreturns;}yield

c# - 跳过数据流转换 block 中的项目

TPLDataflow提供用于转换输入的TransformBlock,例如:vartb=newTransformBlock(i=>i*2);是否可以不输出某些输入,例如如果输入未通过某些验证测试?vartb=newTransformBlock(i=>{if(!ValidateInput(i)){//Dosomethingtonotoutputanythingforthisinput}//Normaloutput}如果这不可能,实现该目标的最佳模式是什么?像下面这样的东西?BufferBlockoutput=newBufferBlock();varab=newActionBlock(i=

c# - 在 try catch block 中抛出异常

try{if(isFileDownloaded)//dostuffelsethrownewCustomException()}catch(Exceptione){//somethingwentwrongtosavetheerrortolog}finally{//releaseresources}我的问题是catch会捕获tryblock中抛出的ApplicationException吗?是编码风格不好吗?是不是应该换一种写法? 最佳答案 catch将捕获您的异常(以及任何其他发生的异常)。话虽如此,我尽量避免编写这样的代码。就我个人

c# - SharePoint 错误 : Web application at xxxx could not be found

当我尝试执行这段代码时:SPSitesiteCollection=newSPSite(@"http://sp-devxxx:10000/");它抛出以下错误:TheWebapplicationathttp://sp-devxxx:10000couldnotbefound.VerifythatyouhavetypedtheURLcorrectly.IftheURLshouldbeservingexistingcontent,thesystemadministratormayneedtoaddanewrequestURLmappingtotheintendedapplication.我可以

c# - 将 Application Insights 与单元测试结合使用?

我有一个MVC网络应用程序,我正在使用SimpleInjectorforDI。单元测试几乎覆盖了我所有的代码。但是,现在我已经在一些Controller中添加了一些遥测调用,我在设置依赖项时遇到了问题。遥测调用用于将指标发送到MicrosoftAzure托管的ApplicationInsights服务。该应用程序不在Azure中运行,只是一个带有ISS的服务器。AI门户告诉您有关应用程序的各种信息,包括您使用遥测库发送的任何自定义事件。因此,Controller需要一个Microsoft.ApplicationInsights.TelemetryClient的实例,它没有接口(inte

c# - 如何公开 Application.Properties.Settings 并保持这种状态

我正在将我的应用程序设置集中到一个位置,我选择使用我的公共(public)库中的设置集合来完成此操作。我已将所有这些设置移动到它们自己的文件中,该文件使用配置源拉入我的app.config中:这让我可以使用VisualStudio的“添加链接”功能,在我的Web和测试应用程序中使用导入的配置文件覆盖默认库设置。现在,我希望能够从我的其他库中访问所有这些很棒的设置值,并且发现我可以通过公开生成的类来简单地做到这一点:文件:Common.Properties.SettingspublicsealedpartialclassSettings:global::System.Configurat