草庐IT

lib.web.mvc

全部标签

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();} 最佳答案 我有

c# - 使用 C# 删除大量(>100K)文件,同时保持 Web 应用程序的性能?

我正在尝试从一个位置删除大量的文件(我的意思是超过100000个),因此该操作是从网页启动的。显然我可以使用string[]files=System.IO.Directory.GetFiles("pathwithfilestodelete");foreach(varfileinfiles){IO.File.Delete(file);}Directory.GetFileshttp://msdn.microsoft.com/en-us/library/wz42302f.aspx这个方法已经发过几次了:Howtodeleteallfilesandfoldersinadirectory?和De

c# - System.Web.HttpRequest.FillInFormCollection() 和 System.Web.HttpRequest.GetEntireRawContent() 非常慢

我一直在关注我网站的性能,在所有执行缓慢的代码(>1s)中,超过90%是因为System.Web.HttpRequest.GetEntireRawContent()(由System.Web.HttpRequest调用。FillInFormCollection())这对于ASP.NET站点是否正常...有时在FillInFormCollection方法中花费超过10秒(显然它是从System.Web.UI.Page.PerformPreInit()调用的)?或者有办法解决这个问题?我正在为.NETFramework3.5编译。页面我遇到的主要问题是登录页面,尽管它没有任何异常-两个文本框

c# - System.Web 可以与具有完整框架的 ASP.Net Core 一起使用吗

我们正在运行多个基于不同.Net版本的站点。其中一个网站正在运行.Net4.6和ASP.NetMVC5.xx为了使用Razor的新语法,我们希望升级此站点以使用.Net4.6和ASP.NetCore我们在我们的网站上使用FormsAuthentication,我们将继续使用它,以便用户可以在网站之间移动。(其中一个站点是运行FormsAuthentication的SharePoint站点)我们知道ASP.NetCore没有使用System.Web中的任何东西,但我们需要使用来自Controller的东西(在登录期间创建FormsAuthenticationcookie)和来自HttpM

c# - ASP.NET MVC 中的发布/重定向/获取模式

在ASP.NETMVC中实现Post/Redirect/Get模式的最佳实践是什么?特别是,当您想重定向回初始操作/Controller时,执行此操作的最佳方法是什么?这是我目前的做法:向用户显示表单。在表格中,使用在行动中,使用ViewData["returnUrl"]=Request.Url;用户通过POST提交表单重定向到returnUrl模型绑定(bind),如果没有null.否则,重定向到主页。这样就完成了工作,但感觉这会导致大量重复。我还意识到我可能会重定向到Request.UrlReferrer...您认为实现此目的最干净、最理想的方法是什么?