草庐IT

c# - 如何将委派处理程序限制为 Web API 中的特定路由?

我有一个自定义委托(delegate)处理程序来管理请求的身份验证。在我的一个Controller中,不应为特定操作启用身份验证。如何禁用方法和路由的委托(delegate)处理程序POSTapi/MyController?一种选择是在处理程序中对路由进行硬编码,但是,我宁愿将此逻辑保留在处理程序之外。此外,我看到自己将此行为添加到更多操作中,这会使此方法难以维护。protectedoverrideSystem.Threading.Tasks.TaskSendAsync(HttpRequestMessagerequest,System.Threading.CancellationTok

c# - 可以将异步事件处理程序附加到 System.Timers.Timer 吗?

我已经阅读了SO帖子here和文章here.我有一个每隔一段时间就会触发一次的计时器事件,我想在处理程序内部进行一些异步处理,所以类似于:Timertimer=newTimer();timer.Interval=1000;timer.Elapsed+=timer_Elapsed;//Pleaseignorethisline.ButsomeanswersalreadygivenbasedonthislinesoIwillleaveitasitis.timer.Elapsed+=async(sender,arguments)=>awaittimer_Elapsed(sender,argum

c# - 在 Entity Framework 4 中处理对象上下文

我有一个实体类,它是从我的数据库模型自动生成的。该类继承了ObjectContext,后者又继承了IDisposable。我创建了一个存储库,其中包含各种方法,这些方法使用实体对象的单个实例与数据库进行交互。自动生成类publicpartialclassDevEntities:ObjectContext{publicconststringConnectionString="name=DevEntities";publicconststringContainerName="DevEntities";存储库类DevEntitiesdb=newDevEntities();publicCust

c# - 隐式运算符应该处理 null 吗?

我们有一个具有隐式字符串运算符的类型。它看起来像这样:publicclassFoo{readonlystring_value;Foo(stringvalue){_value=value;}publicstaticimplicitoperatorstring(Foofoo){returnfoo._value;}publicstaticimplicitoperatorFoo(stringfooAsText){returnnewFoo(fooAsText);}}我们刚刚遇到这样一种情况,其中传递给隐式运算符的实例是null。显然,我们以NullReferenceException结束。我认为

c# - 为什么我需要一个已加载程序集的 AssemblyResolve 处理程序?

我有两个程序集:App和AddOn。App引用AddOn,但CopyLocal设置为false,因为AddOn将由App动态加载。这是AddOn中的代码:namespaceAddOn{publicclassAddOnClass{publicstaticvoidDoAddOnStuff(){Console.WriteLine("AddOnisdoingstuff.");}}}这是App中的代码:classProgram{staticvoidMain(string[]args){Assembly.LoadFrom(@"..\..\..\AddOn\bin\Debug\AddOn.dll")

c# - Xamarin Forms 导航和处理登录页面

我正在尝试创建一个将登录页面作为第一页的应用。一旦用户登录,之后的页面将采用标准页面堆栈组织,因此我可以轻松地使用Navigation对象中的构建并将所有内容包装在导航页面中。例如LoginPage->MainAppPage|->Category1Page->Cat1SubPage|->Category2Page->Cat2SubPage我的理解是,我应该用newNavigationPage()包装MainAppPage,然后我就可以访问Navigation对象,从而允许我执行如下操作:awaitthis.Navigation.PushAsync(newCategory1Page())

c# - 如何使用太长/重复的路径处理解压缩 ZipFile

在Windows中解压缩文件时,我偶尔会遇到路径问题对于Windows来说太长了(但在创建该文件的原始操作系统中没问题)。由于不区分大小写而“重复”使用DotNetZip,ZipFile.Read(path)每当读取具有这些问题之一的zip文件时,调用就会出错。这意味着我什至无法尝试过滤掉它。using(ZipFilezip=ZipFile.Read(path)){...}处理读取这类文件的最佳方法是什么?已更新:示例zip来自这里:https://github.com/MonoReports/MonoReports/zipball/master重复:https://github.co

c# - 使用 DTO 和 POCO 对象时处理导航属性的最佳做法是什么?

我正在努力研究领域驱动开发。我想确保我有一个良好的基础和理解,所以如果在这里避免使用AutoMapper或类似的建议,那就太好了。我的架构目前涉及以下内容:WCF服务负责持久性(使用EntityFramework)和服务器端验证。它将POCO转换为DTO,并将DTO传输给客户端。客户端接收DTO并将其转换为POCO。转换POCO和DTO的类在服务和客户端之间共享。POCO的实现IValidatableObject和INotifyPropertyChanged并被服务器和客户端使用,但它们不用于数据传输。DTO是,它们只是不包含任何行为的属性(property)包。(1)问题#1。这个架

c# - "async void"WPF 命令处理程序中的异常处理

我正在审查我同事的一些WPF代码,这是一个库的UserControl-basedcomponentswithalotofasyncvoid事件和命令处理程序。这些方法目前没有在内部实现任何错误处理。代码简述:privateasyncvoidNewCommand_Executed(objectsender,ExecutedRoutedEventArgse){//dosomefakeasyncwork(andmaythrowiftimeout在NewCommand_Executed中抛出但未观察到的异常只能在全局级别处理(例如,使用AppDomain.CurrentDomain.Unhan

c# - SqlBulkCopy 错误处理/错误继续

我正在尝试将大量数据插入SQLServer。我的目标表有一个名为“Hash”的唯一索引。我想用SqlBulkCopy替换我的SqlDataAdapter实现。在SqlDataAapter中有一个名为“ContinueUpdateOnError”的属性,当设置为true适配器时。Update(table)将插入所有可能的行并使用RowError属性标记错误行。问题是我如何使用SqlBulkCopy尽快插入数据,同时跟踪哪些行已插入,哪些行未插入(由于唯一索引)?这里是附加信息:该过程是迭代的,通常设置为重复的时间表。源表和目标表可能很大,有时有数百万行。尽管可以先检查散列值,但每行需要两