Questions tagged «asp.net-mvc-5»

ASP.NET MVC 5是用于Web应用程序的ASP.NET Model-View-Controller平台的第五个主要版本。

21
OwinStartup不触发
我的OwinStartup配置代码可以正常运行,然后停止工作。不幸的是,我不确定到底要怎么做才能使其停止工作,并且很难解决。 为了确保基本知识,我仔细检查了一下以确保 [assembly:OwinStartup(typeof(WebApplication.Startup))] 属性分配正确,并确保我没有将owin:AutomaticAppStartup的appSetting设置为false,所以我将其中之一设置为true以确保安全,因为之前没有任何设置。 <add key="owin:AutomaticAppStartup" value="true" /> 我还尝试专门调出appSetting: <add key="owin:appStartup" value="WebApplication.Startup" /> 在它停止工作之前,我将Microsoft.Owin.Security NuGet软件包升级到2.0.2,因此我尝试将它们还原到2.0.1(这很痛苦),但是它没有任何改变。我在项目上安装了WebActivator,并正在使用它来引导其他内容,但是我已经在新的WebApplication模板上对其进行了测试,并且该模板可以在其中工作,因此我认为不是罪魁祸首。 我还尝试删除了Startup类,并使用Visual Studio通过“添加新项”中的OWIN Startup类类型添加了一个新类,但没有一个被调用。接下来,我尝试添加第二个Startup类,因为我知道如果定义了多个OwinStartup属性,它将引发一个异常,但是在那里不会引发任何异常。 不知道还有什么尝试。有什么想法吗? 更新资料 事实证明,当我使用Resharper删除未使用的引用时,它删除了对Microsoft.Owin.Host.SystemWeb的引用。

10
ASP.NET MVC 5-身份。如何获取当前的ApplicationUser
我的项目中有一个Article实体,其ApplicationUser属性名为Author。如何获取当前已记录的完整对象ApplicationUser?在创建新文章时,我必须将Author属性设置Article为current ApplicationUser。 在旧的成员资格机制中,这很简单,但是在新的身份方法中,我不知道该怎么做。 我试图这样做: 为身份扩展添加using语句: using Microsoft.AspNet.Identity; 然后,我尝试获取当前用户: ApplicationUser currentUser = db.Users.FirstOrDefault(x => x.Id == User.Identity.GetUserId()); 但是我得到以下异常: LINQ to Entities无法识别方法'System.String GetUserId(System.Security.Principal.IIdentity)',并且该方法无法转换为商店表达式。来源= EntityFramework

17
HTTP错误500.19和错误代码:0x80070021
我有一个由Visual Studio 2013构建的简单webAPI。当我从VS13运行它时,它运行良好,但是当我在本地IIS中复制该项目时,会出现以下错误。 HTTP错误500.19-内部服务器错误无法访问请求的页面,因为该页面的相关配置数据无效。 详细错误信息: IIS Web核心模块 通知 BeginRequest 处理程序 尚未确定 错误代码 0x80070021 配置错误 此配置部分无法在此路径上使用。当节锁定在父级时,会发生这种情况。锁定默认情况下是(overrideModeDefault =“ Deny”),或者是由一个带有overlayMode =“ Deny”或旧版allowOverride =“ false”的位置标记显式设置的。 配置文件 \?\ C:\ inetpub \ wwwroot \ APITeslin \ web.config 配置源: 36: <system.webServer> 37: <handlers> 38: <remove name="ExtensionlessUrlHandler-Integrated-4.0" />

8
如何将MVC5添加到Visual Studio 2013?
我正在开始一个新项目,并想尝试一下MVC 5(我之前已经使用MVC 4构建了一个Web应用程序)。 在Visual Studio 2013中,我单击“新建项目”并导航到“ Visual C#”>“ Web”>“ Visual Studio 2012”(即使我已经在菜单中安装了VS 2013,它说的是“ 2012”),并且在该列表上我只有MVC 4应用程序-而不是5。 下拉菜单中的框架设置为.NET Framework 4.5.1-仍然没有。 我检查了“工具”>“扩展和更新”,并搜索了MVC 5-但找不到Microsoft提供的任何官方软件。 如何将MVC 5添加到Visual Studio 2013? 谢谢

3
如果我使用OWIN Startup.cs类并将所有配置移到那里,是否需要Global.asax.cs文件?
举例来说,在一个由带有个人帐户的MVC模板制作的全新ASP.NET MVC 5应用程序中,如果我删除Global.asax.cs该类并将其配置代码移动到Startup.cs Configuration()方法如下,会有什么弊端? public partial class Startup { public void Configuration(IAppBuilder app) { AreaRegistration.RegisterAllAreas(); FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters); RouteConfig.RegisterRoutes(RouteTable.Routes); BundleConfig.RegisterBundles(BundleTable.Bundles); ConfigureAuth(app); } } 对我来说,好处是,当将ASP.NET 4应用程序升级到ASP.NET 5并使用必须在Startup.cs类中配置的组件时,我没有在似乎相关的两个不同类中进行依赖项注入和其他配置。进行启动和配置。

4
ASP.NET身份DbContext混淆
默认代码MVC 5 App随IdentityModels.cs中的这段代码一起提供-此代码段用于默认模板的所有ASP.NET Identity操作: public class ApplicationDbContext : IdentityDbContext<ApplicationUser> { public ApplicationDbContext() : base("DefaultConnection") { } } 如果我使用带有Entity Framework的视图来搭建一个新的控制器,并在对话框中创建一个“ New data context ...”,我将为我生成一个: using System; using System.Collections.Generic; using System.Data.Entity; using System.Linq; using System.Web; namespace WebApplication1.Models { public class AllTheOtherStuffDbContext : DbContext { // You can add custom code to this …

15
未经授权的webapi调用返回登录页面而不是401
如何配置我的mvc / webapi项目,以使从剃刀视图调用的webapi方法在未经授权时不返回登录页面? 它是一个MVC5应用程序,还具有用于通过javascript进行调用的WebApi控制器。 下面的两种方法 [Route("api/home/LatestProblems")] [HttpGet()] public List<vmLatestProblems> LatestProblems() { // Something here } [Route("api/home/myLatestProblems")] [HttpGet()] [Authorize(Roles = "Member")] public List<vmLatestProblems> mylatestproblems() { // Something there } 通过以下角度代码调用: angular.module('appWorship').controller('latest', ['$scope', '$http', function ($scope,$http) { var urlBase = baseurl + '/api/home/LatestProblems'; $http.get(urlBase).success(function (data) { $scope.data = data; }).error(function (data) { …

3
什么是ASP.NET Identity的IUserSecurityStampStore <TUser>接口?
查看ASP.NET标识(​​ASP.NET中的新成员实现),实现自己的接口时遇到了这个接口UserStore: //Microsoft.AspNet.Identity.Core.dll namespace Microsoft.AspNet.Identity { public interface IUserSecurityStampStore&lt;TUser&gt; : { // Methods Task&lt;string&gt; GetSecurityStampAsync(TUser user); Task SetSecurityStampAsync(TUser user, string stamp); } } IUserSecurityStampStore默认情况下实现,EntityFramework.UserStore&lt;TUser&gt;它本质上是获取和设置TUser.SecurityStamp属性。 经过进一步的挖掘后,看起来a SecurityStamp是一个Guid在UserManager(例如,更改密码)的关键点上新生成的a 。 由于我正在Reflector中检查此代码,因此我无法真正理解更多内容。几乎所有符号和异步信息都已优化。 另外,Google并没有太大帮助。 问题是: 什么是SecurityStampASP.NET身份标识?它的作用是什么? SecurityStamp创建身份验证Cookie时是否发挥作用? 是否需要采取任何安全措施或预防措施?例如,不将此值向下游发送给客户吗? 更新(9/16/2014) 此处提供源代码: https://github.com/aspnet/Identity/ https://github.com/aspnet/Security/

9
如何获取当前用户,以及如何在MVC5中使用User类?
如何获取MVC 5中当前登录用户的ID ?我尝试了StackOverflow建议,但似乎不适用于MVC 5。 另外,将素材分配给用户的MVC 5最佳实践是什么?(例如,User应该有Items,我应该存储在用户Id的Item?我可以扩展User与类List&lt;Item&gt;导航属性? 我正在使用MVC模板中的“个人用户帐户”。 尝试了这些: 如何在MVC应用程序中获得当前用户? 如何在ASP.NET MVC中获取当前用户 获取登录的用户ID-这将引发以下情况: 'Membership.GetUser()'为空。

11
Web API 2和.NET 4.5.1迁移后不存在GlobalConfiguration.Configure()
我最近开始按照本指南进行操作,以将项目迁移到.NET 4.5.1和Web Api 2。 MS开发人员Rick Anderson要求您做的第一件事就是更改: WebApiConfig.Register(GlobalConfiguration.Configuration); 至 GlobalConfiguration.Configure(WebApiConfig.Register); 在global.asax文件中。但是当我尝试构建时,这给了我一个错误: 错误1'System.Web.Http.GlobalConfiguration'不包含'Configure'的定义 我的项目目前在MVC 5,Web Api 2和.NET 4.5.1上,但是我认为System.Web.Http仍然认为它是.NEt 4.0版本。 我该如何解决这个问题? 谢谢。 编辑: 这是我的程序集绑定: &lt;assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1"&gt; &lt;dependentAssembly&gt; &lt;assemblyIdentity name="System.Net.Http.Formatting" publicKeyToken="31BF3856AD364E35" culture="neutral"/&gt; &lt;bindingRedirect oldVersion="0.0.0.0-5.0.0.0" newVersion="5.0.0.0"/&gt; &lt;/dependentAssembly&gt; &lt;!-- &lt;dependentAssembly&gt; &lt;assemblyIdentity name="System.Web.Helpers" publicKeyToken="31bf3856ad364e35"/&gt; &lt;bindingRedirect oldVersion="1.0.0.0-3.0.0.0" newVersion="3.0.0.0"/&gt; &lt;/dependentAssembly&gt; &lt;dependentAssembly&gt; &lt;assemblyIdentity name="System.Web.Mvc" publicKeyToken="31bf3856ad364e35"/&gt; &lt;bindingRedirect oldVersion="1.0.0.0-5.0.0.0" newVersion="5.0.0.0"/&gt; &lt;/dependentAssembly&gt; &lt;dependentAssembly&gt; …

1
如何将Web API添加到现有的ASP.NET MVC(5)Web应用程序项目中?
假设在创建新的MVC(5)项目时忘记了选中Web API复选框(将其添加到项目中),那么您需要做些什么来添加Web API并使它正常工作? 有很多迁移问题,但是似乎没有一个完整的最新步骤可将Web API添加到MVC 5项目中,并且它似乎已经从一些旧的答案中改变了。 将Web API添加到MVC 4 添加GlobalConfiguration.Configure(WebApiConfig.Register)MVC 4

26
Visual Studio 2013 IntelliSense停止适用于ASP.NET MVC5控制器
我在Visual Studio 2013 ASP.NET MVC 5项目中遇到一个奇怪的问题。突然之间,MVC 5项目的Controller类中的IntelliSense根本无法工作。 我的解决方案中还有其他类库项目,并且IntelliSense正在这些类库项目文件中工作,但是问题仅在MVC项目内。通常,这类问题可以通过重新启动Visual Studio来解决:我不仅重新启动了Visual Studio,而且还重新启动了计算机,而且IntelliSense问题根本无法解决。 还有其他步骤可以使我恢复IntelliSense吗?

6
如何扩展User.Identity的可用属性
我正在使用MVC5 Identity 2.0,以便用户登录到我的网站,该网站的身份验证详细信息存储在SQL数据库中。在许多在线教程中都可以找到以标准方式实现的Asp.net Identity。 IdentityModels中的ApplicationUser类已扩展为包括一些自定义属性,例如整数OrganizationId。这个想法是为了数据库关系的目的,可以创建许多用户并将其分配给一个通用组织。 public class ApplicationUser : IdentityUser { public async Task&lt;ClaimsIdentity&gt; GenerateUserIdentityAsync(UserManager&lt;ApplicationUser&gt; manager) { // Note the authenticationType must match the one defined in CookieAuthenticationOptions.AuthenticationType var userIdentity = await manager.CreateIdentityAsync(this, DefaultAuthenticationTypes.ApplicationCookie); // Add custom user claims here return userIdentity; } //Extended Properties public DateTime? BirthDate { get; …

4
如何在ASP.NET MVC 5和WEB API 2中实现oauth2服务器
关闭。此问题不符合堆栈溢出准则。它当前不接受答案。 想改善这个问题吗?更新问题,使其成为Stack Overflow 的主题。 去年关闭。 改善这个问题 首先,我将草绘我的项目: 对于我的实习,我需要向现有系统中添加功能。用户通过OAuth2授权后,第三方客户端必须能够从AX Web服务访问数据。我知道我需要制作一个“代理Web服务”,客户端可以在其中进行调用,并且可以调用AX服务,但是我对OAuth2部分还是不太确定。大多数教程和指南都是关于将ASP.NET的Identity用于Facebook或Google登录。我不需要,我需要使用现有的凭据,因此我需要创建自己的OAuth2服务。 我发现很难找到有关此的教程,指南或解释。我了解OAuth2以及需要执行的操作,但是我从来没有做过这样的事情,因此很难启动。我发现的最接近我需要的东西是这个github repo链接,但是解决方案未构建。 我想到的是建立一个ASP.NET MVC网站,客户(第三方)可以在该网站上注册自己并获取其客户ID。使用ASP.NET API,我想创建带有必需标记和参数的API,然后访问Dyn AX服务。 这是正确的还是我完全错了?关于构建自己的oauth2服务器/服务的任何帮助或链接都将很好。

3
在MVC5中使用异步的优势是什么?
之间有什么区别? public ActionResult Login(LoginViewModel model, string returnUrl) { if (ModelState.IsValid) { IdentityResult result = IdentityManager.Authentication.CheckPasswordAndSignIn(AuthenticationManager, model.UserName, model.Password, model.RememberMe); if (result.Success) { return Redirect("~/home"); } else { AddErrors(result); } } return View(model); } 和: [HttpPost] [AllowAnonymous] [ValidateAntiForgeryToken] public async Task&lt;ActionResult&gt; Login(LoginViewModel model, string returnUrl) { if (ModelState.IsValid) { IdentityResult result = …

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.