The*_*rch 15 .net c# asp.net formsauthentication asp.net-core
我们基于不同的.Net版本运行多个站点.
其中一个站点运行.Net 4.6和ASP.Net MVC 5.xx
要使用Razor的新语法,我们希望将此站点升级为使用.Net 4.6和ASP.Net Core
我们在我们的网站上使用FormsAuthentication,我们将继续使用它,以便用户可以在网站之间移动.(其中一个站点是运行FormsAuthentication的SharePoint站点)
我们知道ASP.Net Core没有使用System.Web中的任何东西,但是我们需要使用来自控制器(在登录时创建FormsAuthentication cookie)和HttpModule来验证cookie.
我无法找到如何使用完整框架运行ASP.Net Core的站点中的system.web的任何示例.我无法在project.json中为system.web添加依赖项.
问题.
是否可以从这样的设置中使用system.web?
我们如何向system.web添加依赖项,以便ASP.NET MVC 6中提供System.Web.FormsAuthentication.(Controllers/http模块)
Ron*_*n C 10
这可能不像你想象的那样有效.当您对完整框架使用.Net Core MVC时,System.Web命名空间确实存在并且可以在技术上被调用,但它不会像您想要的那样工作.原因是Asp.Net Core和System.Web的请求管道完全不同.因此,例如当使用Asp.Net Core MVC时,如果从请求进入时检查HttpContext对象,它将填充您期望的所有信息,但如果使用System.Web对象检查当前请求,您将看到他们的目前没有要求.那是因为当前请求没有通过System.Web管道进入.如果你愿意,它会通过.Net Core"管道"进入.因此,如果您使用.Net Core MVC,则需要坚持使用该框架的工具和方法,而不是System.Web中提供的工具和方法.
但是,如果你真的想要,应该可以引用System.Web.dll .如果您使用的是VS2015,则需要获取System.Web.Dll的副本并将其包装在nuget包中以便建立对它的引用.请参阅此处.net core 1.0 visual studio引用外部DLL VS2017RC具有alpha工具,可以消除将其包装在NuGet包中的需要,但是我在我的机器上安装它时遇到了麻烦,因此我无法亲自担保. 更新: VS2017现在为Asp.Net Core提供了很好的工具,并引用了完整的框架Dll.
| 归档时间: |
|
| 查看次数: |
22255 次 |
| 最近记录: |