草庐IT

应不应该

全部标签

c# - 如果请求的实体在 Db 中不存在,我应该抛出哪个异常?

这个问题不太可能帮助任何future的访问者;它只与一个小的地理区域、一个特定的时间点或一个非常狭窄的情况有关,这些情况并不普遍适用于互联网的全局受众。为了帮助使这个问题更广泛地适用,visitthehelpcenter.关闭9年前。想象一个方法,该方法尝试检索根据业务逻辑(对于特定情况)应该存在于Db中的实体。当我尝试通过我的存储库从Db检索它时,如果我返回null,我应该抛出哪个异常?(我在想ObjectNotFoundException)

c# - 为什么我得到 "Culture is not supported"以及如果有的话,我应该怎么做?

我在此处的“返回”行上有一个断点:[HttpGet][Route("api/Test/{id1}/{id2}")]publicNRBQEntityGetTestMessage(Stringid1,Stringid2){returnNRBQClient.GetTestMessage(id1,id2);}虽然它不会使应用程序崩溃,但当我达到这一点时,我明白了,“异常:抛出:“不支持文化。”(System.Globalization.CultureNotFoundException)抛出System.Globalization.CultureNotFoundException:“不支持文化。

c# - Stream.ReadAsync 和 Stream.WriteAsync 是否应该在返回之前或操作完成之后同步更改光标位置?

我一直在尝试实现一个支持ReadAsync和WriteAsync的Stream,并考虑到documentation的冗余性,我正在努力了解如何正确执行此操作。具体来说,关于流的光标位置。问了一个类似的问题here和here关于旧的BeginRead函数。该函数的文档似乎表明,在任何挂起的异步操作完成之前,不应再次调用BeginRead。鉴于BeginRead现在已弃用nolongerrecommendedfornewdevelopment并且Stream可能已被显着改变以实现新的Async功能,事情再次不清楚。(编辑:通常这种警告意味着新函数被直接实现,旧函数调用新函数并且仍然存在只是

c# - Roslyn 代码分析器——什么时候应该使用 "this."?

在使用实例成员时,我总是明确地使用我的代码,在它们前面加上this.和静态成员,在它们前面加上类型名称。Roslyn似乎不喜欢这样,并礼貌地建议您可以在代码中适本地省略this.和Type.......所以我会在哪里做这个。..(没有双关语意)publicvoidDoSomethingCool(){this.CallAwesomeMethod();CoolCucumber.DoSomethingLessAewsome();}...roslyn建议我这样做...publicvoidDoSomethingCool(){CallAwesomeMethod();DoSomethingLessA

c# - 我们什么时候不应该创建 Assembly 的强名称? "strong named assembly"的缺点是什么?

我有一个项目,即library.exe。在此我引用了一个程序集(logging.dllver1.0.3.0)并且我给这个程序集起了一个强名称。现在假设我更改了logging.dll中的一个方法并制作了版本1.0.4.0。现在当我用这个新的DLL复制/替换旧的DLL时,我得到了一个异常。我知道异常是因为我更改了DLL的版本号。因为它是一个强名称DLL,除非我重建library.exe,否则不允许使用它。上面的故事我想说的是仅当我们必须将其添加到GAC时,才对程序集使用强名称。如果我们有一个应用程序,其中单个程序集需要更新,请不要使用强命名程序集。我对第1点和第2点的看法是否正确?什么时候

c# - 不同的 DLL,但在控制台应用程序和网站中应该相同

我有一个控制台应用程序和网站使用相同的System.Runtime.Serialization.Primitives.dll程序集。但是,当我运行该网站时,我的程序集是右边那个,但是如果我运行安慰应用程序,该网站的DLL变成了左边那个并导致错误。这两个项目都是v4.7,在我将所有项目升级到该框架后开始出现这种情况。两个项目都有这个 最佳答案 通过对相同DLL的不同引用来解决此问题的方法:第1步:在VisualStudio2015上创建一个新的网络应用第2步:检查问题是否仍然存在于这个新的网络应用程序项目中。如果答案是否并且问题不再存

c# - 每个项目都应该使用单独的强名称 key (.snk) 进行签名吗?

在我的VisualStudio解决方案中,我有一个网站和4-5个引用的类库项目,其中一些还引用了外部第三方程序集。我被赋予了为这些项目的程序集签名的任务。我的理解是签名的目的是不是每个人都可以在不提供其公钥和版本详细信息的情况下使用我们的程序集,对吗?我应该使用一个强名称key(.snk)对这些项目的所有程序集进行签名,还是应该使用单独的强名称key对每个程序集进行签名?强名称key密码保护的目的是什么?你会怎么做?非常感谢, 最佳答案 thatthepurposeofsigningisthatnoteveryonebeingabl

c# - 我们应该扩展 Comparer<T> 还是实现 IComparer<T>

在编写比较器类时,从4.0版开始的C#中的最佳实践是什么:一个。我们应该继承Comparer抽象类吗?或我们是否应该实现IComparer接口(interface)。有什么优点和缺点? 最佳答案 我建议您扩展Comparer类而不是实现IComparer界面,与Microsoft一样(参见下面的第一个引用资料)。现在,如果您希望您的对象本身(无论T是什么)能够与自身进行比较,它可以实现IComparable接口(interface)(参见下面的第二个引用)。发件人:http://msdn.microsoft.com/en-us/li

c# - DelegatingHandler 应该如何进行异步调用(ASP.NET MVC Web API)?

我很乐意在调用内部处理程序的SendAsync()之前执行同步工作,并在内部处理程序通过完成完成后执行同步工作。例如:protectedoverrideTaskSendAsync(HttpRequestMessagerequest,CancellationTokencancellationToken){//dosomesyncworkbeforeinnerhandlerherevarsendTask=base.SendAsync(request,cancellationToken);returnsendTask.ContinueWith(task=>{//dosomesyncworka

c# - GUIText 已弃用,那么我应该使用什么来代替它呢?

我使用的是Unity2017.2.0f3,当我使用GUIText时,它显示“此组件是遗留UI系统的一部分,将在未来的版本中删除。”那么我应该使用的最佳替代方案是什么? 最佳答案 Text组件替换了它。它是称为uGUI的新UI系统的一部分。转到GameObject--->UI--->Text和Unity将创建一个带有GameObject作为子对象的Canvas。该子游戏对象将有一个Text组件。您可以了解更多关于新UI系统的信息here.如何从代码修改它的示例:publicTextmyText;voidStart(){myText.t