草庐IT

c# - 有没有办法更改 .net mvc bin 目录位置?

我有一个相当标准和简单的MVC4网站。在根目录中我们有:bin、content、scripts、views。使用项目的DLL的默认设置,我们称它为“web.dll”,所有必要的额外内容都放在bin目录中。不知何故,ASP.NET开发服务器和IIS7.5都知道在托管站点时在bin文件夹中查找“web.dll”,如果不存在,它们会抛出错误:“无法加载类型'CVD。Web.MvcApplication'”。该错误的标准解决方案是直接构建到bin文件夹中,这对我不起作用,因为...出于调试目的,我希望能够将调试和发布配置分别构建到bin/Debug和bin/Release中,然后部署两个目录,

c# - 如何使用 .NET MVC 在多个 View 中重用 DropDownList

我项目中的几个View具有相同的下拉列表...所以,在那个View的ViewModel中,我有:publicIEnumerableFooDdl{get;set;}在Controller中我有:varMyVM=newMyVM(){FooDdl=fooRepository.GetAll().ToSelectList(x=>x.Id,x=>x.Name)}到目前为止一切顺利...但是我在每个具有该ddl的View/Controller中执行相同的代码...这是最好的方法吗?谢谢 最佳答案 老实说,这很好,因为这只是几行代码的重复。如果它真

c# - 如何为 Web API 2 异步操作中的异常获取正确的堆栈跟踪?

我有一个简单的APIController方法publicasyncTaskGetByDate(DateTimedate,stringuser=null){thrownewInvalidOperationException();}现在的问题是我在自定义操作过滤器中或仅通过设置IncludeErrorDetailPolicy.Always获得的异常堆栈跟踪是这样的System.InvalidOperationException:Operationisnotvalidduetothecurrentstateoftheobject.atSystem.Web.Http.Filters.Actio

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

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

c# - 保护匿名 Web API 请求的方法

我有一个ASP.NETMVC(不是ASP.NETCore)单页应用程序,前端带有angularjs。我的客户端(浏览器)通过ASP.NETWebAPI与服务器对话。现在,Web应用程序位于https但匿名。没有登录/用户身份验证。Web应用程序采用向导形式,用户可以在其中来回切换并添加或更新网页上的输入字段。然后通过WebAPI在服务器上更新表单输入值。我正在寻找一种方法来单独保护我的WebAPI调用,尤其是POST/PUT请求。总之,我想阻止任何用户直接从POSTMAN或Fiddler调用我的WebAPI。WebAPI,尽管是匿名的,但只能从发起请求的浏览器session中调用。我有

c# - .NET 框架中是否有针对不同 Web 方法类型(GET、PUT、POST、DELETE、HEAD)的常量?

我刚刚在创建RESTfulWCF服务时注意到WebInvoke属性上的Method参数区分大小写(需要大写)。所以,[WebInvoke(Method="Delete")]不等于[WebInvoke(Method="DELETE")]这个错误导致了ProtocolException:System.ServiceModel.ProtocolException:Theremoteserverreturnedanunexpectedresponse:(405)MethodNotAllowed.我想知道我应该使用.NET框架中的一组常量来代替上面示例中的“DELETE”。我当然可以定义我自己的

c# - 使用 .Net Mvc 手动绑定(bind)模型

我想知道是否有一种方法可以使用类似于在Controller操作之前发生的内部模型绑定(bind)的内置模型绑定(bind)。我的问题是我希望能够控制绑定(bind),因为在我实际处于Controller操作的上下文中之前我不知道要绑定(bind)的对象类型。我知道我可以继承DefaultModelBinder来执行自定义绑定(bind),但我对已经提供的功能很满意,只是想利用它-以这个理想示例来了解什么我在追求:publicActionResultDoCustomBinding(stringmodelType){...//logictodeterminetypetocheckandcr

c# - 无法添加对 System.Web.Hosting 的引用

我正在将Web应用程序从VB迁移到C#。我还升级到VS2013中的更新3。Hosting类有变化吗?我在使用Hosting.HostingEnvironment.MapPath时遇到错误,我什至无法添加对System.Web.Hosting的引用,因为找不到它。当我尝试在添加引用时搜索程序集时,使用整个命名空间,即System.Web.Hosting,它没有返回任何结果。我在类中有using语句,它没有变灰,这意味着它正在用于某些事情,但代码不喜欢Hosting.HostingEnvironment中的Hosting>因为它是耀眼的红色。我什至没有在智能感知中获得Hosting类,该项

c# - 有什么充分的理由不在核心 MVC 中使用 ViewComponent 而不是 Partial View 吗?

我是MVC的新手,决定从.net-core开始,所以我不太了解核心版本与旧版本之间的差异。我确实找到了下面的问题,它提供了一些见解,但并没有帮助我决定我是否可以基本上忽略部分观点。WhyshouldweuseMVC6FeatureViewComponentsoverPartialView:Whatisthedifference?我的问题很简单-如果我可以用ViewComponent做一些事情,有什么好的理由不这样做吗?非常感谢!下面提供了上下文示例。主视图调用:View组件:@awaitComponent.InvokeAsync("CreatePerson",newPerson())与

c# - ASP.NET MVC : Problem setting the Authorize attribute Role from a variable, 需要常量

我在设置变量的授权属性角色值时遇到问题。错误消息说它需要一个const变量。当我创建一个const类型变量时,它工作正常,但我试图从Web.Config文件或任何其他允许最终用户设置它的文件加载值。我正在使用集成的Windows身份验证,因为这是一个仅限Intranet的应用程序。有没有办法从Controller检查用户角色?我将在if语句中使用它而不是属性来进行身份验证。[Authorize(Roles=Config.GMPUser)]publicActionResultIndex(){returnView();} 最佳答案 我有