草庐IT

ACTION_NOTIFICATION_CHANNEL_BLOCK

全部标签

c# - 如果没有通过 using block 实例化实现 IDisposable 的类是否有方法抛出异常?

我发现了一些有潜在危险的类,如果它们不能被实例化,那么它们的危险性会小得多,除非它们在using语句中被实例化。我想知道是否有办法强制类只以这种方式实例化。(我知道IL会编译出什么,这就是为什么我不太确定这是否可能)干杯,菲尔。 最佳答案 没有办法强制执行它,但您可以构建一个customCodeAnalysisrule标记它。 关于c#-如果没有通过usingblock实例化实现IDisposable的类是否有方法抛出异常?,我们在StackOverflow上找到一个类似的问题:

c# - 即使在 using block 中抛出异常,资源也会被释放吗?

这个问题在这里已经有了答案:关闭11年前。PossibleDuplicate:DoesDisposemethodstillgetcalledwhenExceptionisthrowninsideofUsingstatment?访问数据库时,我有很多usingblock。我想知道-如果必须在usingblock中抛出异常,即使未到达block的末尾,是否仍会处理必要的资源?或者我需要自己在catchblock中手动关闭它们吗?

c# - 您能否在每个 block 中捕获不止一种类型的异常?

这个问题在这里已经有了答案:Catchmultipleexceptionsatonce?(29个答案)关闭9年前。ThisquestionisclosetowhatIwanttodo,但不完全是。有没有办法简化下面的代码?privateboolValidDirectory(stringdirectory){if(!Directory.Exists(directory)){if(MessageBox.Show(directory+"doesnotexist.Doyouwishtocreateit?",this.Text)==DialogResult.OK){try{Directory.C

c# - 您如何在 MVC3 中的不同 Action Methods 调用之间保持全局变量的值?

我正在使用Razor和C#开发ASP.NETMVC3Web应用程序。我刚刚发现我对全局变量有一些问题,可能是因为我对MVC比较陌生。我有一个带有一些全局变量和操作方法的Controller。我声明了一个全局变量,以便允许操作方法对其进行操作并将操作反射(reflect)到所有操作方法。我有以下情况:publicclassmyController:Controller{privatestring_MyGlobalVariable;publicActionResultIndex(){_MyGlobalVariable="Hello";//othercodereturnView("MyVie

c# - Action 名称的 Web API 路由

我需要一个Controller来返回JSON以供JavaScript使用,因此我继承了ApiController类,但它的行为并不像我预期的那样。Apress书籍ProASP.NETMVC4和我找到的大多数在线示例都提供了如下示例:publicclassServicesController:ApiController{publicstring[]MethodFruit(){returnnewstring[]{"Apple","Orange","Banana"};}通过URL访问:http://mysite/services/methodfruit但这永远行不通-找不到资源。我可以开始工

c# - 如何有效地测试 Action 是否装饰有属性(AuthorizeAttribute)?

我正在使用MVC,在我的OnActionExecuting()中,我需要确定即将执行的Action方法是否装饰有属性AuthorizeAttribute特别是。我不是在询问授权是否成功/失败,而是在询问该方法是否需要授权。对于非mvc人员filterContext.ActionDescriptor.ActionName是我正在寻找的方法名称。但是,它不是当前正在执行的方法;相反,它是一个将很快执行的方法。目前我有一个如下所示的代码块,但我对每个Action之前的循环不太满意。有更好的方法吗?System.Reflection.MethodInfo[]actionMethodInfo=t

c# - ASP.NET MVC Url.Action 和路由名称值

我正在使用asp.netmvc2并根据路由创建本地化。我的路线如下:{culture}/{controller}/{action}我转到我的家庭Controller:en/Home/Index我的家庭ControllerView有一个到其他Controller的链接:'>Products'>About第一个链接生成代码:/en/Products/Prods但第二个链接生成:/Home/Index我不明白为什么当我在参数操作中传递值Index时Url.Action会跳过{culture}路由参数?我做错了什么?路线配置:routes.IgnoreRoute("{resource}.axd

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# - Moq VerifySet(Action) 替换过时的表达式编译错误

引用这个问题:Moqhowtoreplaceobsoleteexpression我有以下内容:[Test]publicvoidOnSearchRequest_ViewFiresEvent_EventIsHandled(){//ArrangeMockview=newMock();Usersusers=newUsers(view.Object);//Actview.Raise(v=>v.SearchForUsers+=null,this,newSearchEventArgs());//Assertview.VerifySet(v=>v.SearchResult=It.IsAny>());}

c# - 在 MVC Controller 中打开一个 websocket channel

有没有人有在MVCController中打开websocket连接的良好经验?技术栈:ASPNETCore1.0(RC1)MVC、dnx46、System.Net.WebSockets为什么选择MVC而不是中间件:为了整体一致性、路由、已经注入(inject)的存储库、在同一Controller中调用私有(private)方法的选项。[HttpGet("v1/resources/{id}")]publicasyncTaskGetAsync(stringid){varresource=awaitthis.repository.GetAsync(id);if(resource==null)