草庐IT

方案设计

全部标签

c# - 转义 .NET 命令行参数的规范解决方案

问题:给定一个文件名和一个任意的字符串列表,是否有一种规范的方式来创建一个命令行使得Environment.GetCommandLineArgs(和C#的voidmain(String[]args)/VB的SubMain(args()AsString))会返回相同的字符串列表吗?背景:.NET将命令行拆分为参数的方式是surprisinglycomplex,例如:Ifadoublequotationmarkfollowstwooranevennumberofbackslashes,eachproceedingbackslashpairisreplacedwithonebackslash

c# - 单个解决方案中的多个 MVC 项目

我在NopCommerce项目中看到有一个解决方案,并且该解决方案中有多个MVC项目。我对此有一些疑问,例如:如何共享一个主布局,或按需使用不同的布局?如何在不同的MVC项目中使用Controller/模型等?我还想要一个主项目和多个子MVC项目。如何在共享组件时做到这一点?有什么想法吗?指针?注意:对区域不感兴趣。 最佳答案 是的。请参阅:asp.netmvcputcontrollersintoaseparateproject我自己完成了这项工作,并且能够在插件式架构中使用Controller。至于模型,它们只是普通类。它们可以出

c# - EF 6 的工作单元和依赖注入(inject)设计问题

我使用EntityFramework6开发Web应用程序,在设计应用程序结构时遇到困难。我的主要问题是如何在我的特定情况下处理依赖项注入(inject)。下面的代码是我希望应用程序的样子。我正在使用Autofac,但我想它对每个DI用户来说都足够基本了:publicinterfaceIUnitOfWork{boolCommit();}publicclassUnitOfWork:IUnitOfWork,IDisposable{privateDbContext_context;publicUnitOfWork(DbContextcontext){_context=context;}publ

c# - 案例陈述的更好替代方案

我目前有一个运行大约300行的switch语句。我知道这还没有达到极限,但我确信有更好的方法来处理这个问题。switch语句采用一个Enum来确定与日志记录相关的某些属性。现在的问题在于,很容易遗漏一个枚举值,并且它不会被赋予一个值,因为它不在switch语句中。是否可以使用一个选项来确保使用每个枚举并为其提供完成其工作所需的一组自定义值?编辑:请求的代码示例:(这很简单,但准确说明了我的意思。还有一个枚举将存在以下值。)internalvoidGenerateStatusLog(LogActionActionToLog){switch(ActionToLog){caseLogActi

c# - NuGet - 在单个解决方案中管理和删除多版本包

场景一个包含n个项目的VS解决方案。项目A引用包Yv1,项目B引用包Yv2。现在无法使用解决方案级别的NuGet包管理对话框更新解决方案中所有项目对包Y的所有引用,只有当所有项目都引用相同版本的包Y时才能执行此操作。不是很大我只处理两个项目,但我处理的很多项目由于包管理不善而引用了很多包版本,而它们本应引用相同的版本。在我花一个下午编写控制台应用程序之前。自动更新解决方案的所有package.config文件,以便每个引用的包只通过它的最新版本引用(最新引用,不是最新的,有异常(exception)/警告等)......是否有工具/方法来做这已经?或者我不知道的其他一些方法?

c# - 构建一个 web 项目破坏了解决方案中第二个的编译版本

我有一个包含30个项目的大型解决方案,其中2个是Web项目(MVC和WebAPI)以及一堆后台类库项目。我设置了visualstudio以在IIS中托管Web项目。如果我进行全新构建,然后对整个解决方案进行完整构建,那么通过浏览器访问这两个项目都可以正常工作。(它们位于差异文件夹中并托管在iis中的差异“域”中)如果我不做任何代码更改,只需重新构建2个Web项目之一,另一个就会停止工作。需要说明的是,重建WebAPI工程导致MVC工程出错。反之亦然。我得到的错误是说找不到System.Web.Http.Formatter。详细信息说定位的程序集版本与引用版本不同。检查bin文件夹表明情

c# - 设计线程安全类

阅读MSDN文档时,它总是让您知道某个类是否是线程安全的。我的问题是你如何设计一个线程安全的类?我不是在谈论用锁定调用类我的意思是我正在为MicrosoftcreateXXXclass\object工作,我想说它是“线程安全的”我需要做什么? 最佳答案 使类线程安全的最简单和最万无一失的方法是使其成为immutable.它的美妙之处在于您不必再为锁定而烦恼。秘诀:在C#中将所有实例变量设置为readonly(在Java中为final)。不可变对象(immutable对象)一旦在构造函数中创建和初始化,就无法更改。不可变对象(immu

c# - 如何从解决方案项目中添加的 .txt 文件中读取

我已经在我的解决方案项目中添加了一个dictionary.txt文件,我想从该文件中读取,而不是从它在我硬盘上的位置读取,这样如果其他人在他们的计算机上打开我的项目,他们仍然会能够从该文件中读取。在另一个问题中,他们说进入属性并更改“复制到输出目录”设置,但我在我的.txt文件属性下看不到它(我使用的是VS2010):Readatextfilefromlocalfolder目前我的代码是这样的:string[]dictionary=System.IO.File.ReadAllLines(@"dictionary.txt");我是否需要做某事或需要以其他方式引用该文件以确保它仅引用我已添

c# - MVC设计模式,服务层的目的?

假设我有以下repo模式:interfaceIGenericRepowhereT:class{IEnumerableGetAll();TGetById(objectid);voidInsert(Tobj);voidUpdate(Tobj);voidDelete(Tobj);voidSave();}interfaceICustRepo:IGenericRepo{IEnumerableGetBadCust();IEnumerableGetGoodCust();}publicclassCustRepo:ICustRepo{//implementmethodhere}然后在我的Controll

C# Windows 服务替代方案

关闭。这个问题不符合StackOverflowguidelines.它目前不接受答案。我们不允许提问寻求书籍、工具、软件库等的推荐。您可以编辑问题,以便用事实和引用来回答。关闭2年前。Improvethisquestion谁能告诉我是否有Windows服务的替代方案?我提出问题的原因是我发现Windows服务很难测试,因为它需要先安装它。谢谢。