小编Hai*_*der的帖子

ASP.NET MVC 5自定义错误页面

我在ASP.NET MVC 5应用程序中使用自定义authorize属性,如下所示:

public class CustomAuthorizeAttribute : AuthorizeAttribute
{
    protected override void HandleUnauthorizedRequest(AuthorizationContext context)
    {
        if (context.HttpContext.Request.IsAuthenticated)
        {
            context.Result = new System.Web.Mvc.HttpStatusCodeResult((int)System.Net.HttpStatusCode.Forbidden);                
        }
        else
        {
            base.HandleUnauthorizedRequest(context);
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

system.web我的web.config部分,我提到了错误路径,如:

<system.web>
    <customErrors mode="On" defaultRedirect="/Error/Error">
      <error statusCode="403" redirect="/Error/NoPermissions"/>
    </customErrors>
</system.web>
Run Code Online (Sandbox Code Playgroud)

但我从未被重定向到我的自定义错误页面/Error/NoPermissions.相反,浏览器显示"HTTP错误403.0 - 禁止"的常规错误页面.

asp.net-mvc custom-error-pages custom-errors

29
推荐指数
4
解决办法
5万
查看次数

AngularJS + ASP.NET Web API + ASP.NET MVC身份验证

我是AngularJS的新手,并试图为我的新Web应用程序评估它.

需求:

我将有一个ASP.NET Web API,它将从Android,iPhone和Web应用程序(ASP.NET MVC)中使用.ASP.NET Identity将在Web API中实现.所有三个应用程序都将调用Web API的登录方法来获取身份验证令牌.

问题:

我的问题是如何让ASP.NET MVC 服务器端身份验证工作(与Web API同步,所以我不必单独登录ASP.NET MVC),而Angular调用获取HTML模板/视图,JavaScript文件或其他资源.我已经浏览了很多关于AngularJS的文章和博客,但仍无法找到符合我要求的安全模型.

可能解决方案

最好是直接对ASP.NET MVC应用程序而不是Web API进行登录调用,并且ASP.NET MVC应用程序会调用Web API进行登录,并且一旦通过身份验证,就会在会话中保存身份验证令牌并创建一个FormsAuthentication cookie和cookie数据保存加密的身份验证令牌.此外,在HTML格式的ng-init中设置auth令牌,以在AngularJS范围内拥有令牌.现在,当AngularJS尝试调用ASP.NET MVC应用程序来获取HTML时,通过将cookie解密数据与会话中的auth数据进行匹配来验证/授权用户.此外,AngularJS将在头文件中发送auth令牌,以直接调用Web API方法,以便通过Web API进行数据操作的所有后续调用.

asp.net-mvc forms-authentication asp.net-web-api angularjs asp.net-identity

19
推荐指数
2
解决办法
2万
查看次数

Angularjs + ASP.NET MVC + ASP.NET Web API

我打算构建我的新Web应用程序.我擅长ASP.NET MVC和jQuery,也有Web API的工作知识.我是Angularjs的新手,但我想在客户端使用它来处理需要DOM操作的复杂页面.我有以下问题:

  1. 在知道它是一个具有许多页面和复杂逻辑/算法的中型应用程序之后,我是否仍应该考虑单页面应用程序框架.
  2. 我听说人们谈论用ASP.NET Web API + Angularjs完全替换ASP.NET MVC + jQuery.对于具有复杂逻辑的中型或大型Web应用程序来说,它真的是一个更好的选择.如果是,那么会话,认证等的替代方案是什么
  3. ASP.NET Web API,ASP.NET MVC和Angularjs一起使用是一个明智的决定.
  4. 什么是兼容性的最新版本之间的jQuery,引导和Angularjs.
  5. 使用Angularjs + SPA而不是ASP.NET MVC + jQuery(非SPA)会增加开发时间/成本.

是否有任何机构使用Angularjs编写中/大型复杂Web应用程序?

asp.net-mvc jquery twitter-bootstrap asp.net-web-api angularjs

12
推荐指数
1
解决办法
4856
查看次数

Xamarin表单ListView CachingStrategy

我最近在Xamarin Forms App中测试了CachingStrategy一个ListView包含1000个项目的a.正在从数据模板创建列表项ViewCell.我尝试使用RecycleElement选项CachingStrategy.

当我使用Xamarin Profiler对在Xamarin Anroid Player(模拟器)上部署的Android App进行分析时,我注意到当我滚动列表时,内存分配不会增加(在分配摘要选项卡上).但是,当我在模拟器上对iPhone App进行性能分析时,我注意到Allocations Summary选项卡上没有显示任何数据.所以我在滚动列表时捕获了一些快照,并注意到每当我滚动列表(向上或向下)时,内存分配不断增加.

为什么RecycleElement不适用于iOS(iPhone)?

我正在使用Mac进行开发. 这是我的工具:

=== Xamarin Studio ===

版本5.10.1(版本3)安装UUID:7ae992a3-b710-4297-ba1d-0c519fbb2ea8运行时:Mono 4.2.1(显式/ 6dd2d0d)GTK + 2.24.23(Raleigh主题)

Package version: 402010102
Run Code Online (Sandbox Code Playgroud)

=== Xamarin.Profiler ===

版本:0.24.0.0位置:/ Applications/Xamarin Profiler.app/Contents/MacOS/Xamarin Profiler

=== Apple Developer Tools ===

Xcode 7.1.1(9081)Build 7B1005

=== Xamarin.iOS ===

版本:9.2.1.54(企业版)哈希:eb4c1ef分支:master建立日期:2015-12-01 02:12:30-0500

=== Xamarin.Android ===

版本:6.0.0.34(企业版)Android SDK:/ Users/haider/Library/Developer/Xamarin/android-sdk-macosx支持的Android版本:4.0.3(API级别15)4.4(API级别19)5.0(API级别) 21)5.1(API级别22)6.0(API级别23)

SDK工具版本:24.4.1 SDK平台工具版本:23.1 rc1 SDK构建工具版本:23.0.2

Java SDK:/ usr java version"1.7.0_71"Java(TM)SE运行时环境(版本1.7.0_71-b14)Java HotSpot(TM)64位服务器VM(版本24.71-b01,混合模式)

=== Xamarin Android Player ===

版本:0.6.5位置:/ …

ios xamarin xamarin.mac xamarin-studio xamarin.forms

6
推荐指数
1
解决办法
1478
查看次数

windows phone 8弹出宽度和高度

我在弹出控件中放置一个网格.我希望根据Windows Phone 8应用程序(480×800,768×1280,720×1280)的3种不同布局大小自动重新调整网格大小.

但似乎我必须明确设置网格的宽度和高度,因为它根据子控件大小重新调整大小,而我希望弹出框在屏幕顶部显示为全部三个分辨率.

任何帮助?

windows-phone-8

3
推荐指数
1
解决办法
9769
查看次数

Angularjs为多个不起作用的事件辩护

我正在查看用于处理表单的Angular 文档,并找到了一个非常有用的示例,用于在任何字段/控件中捕获更新并延迟.以下是Angularjs提供的示例代码:

<input type="text" ng-model="user.name" ng-model-options="{ debounce: 250 }" /><br />
Run Code Online (Sandbox Code Playgroud)

它工作正常.但他们提到debounce可以与多个事件一起使用,并提供另一个例子,如:

<input type="text" ng-model="user.name" ng-model-options="{ updateOn: 'default blur', debounce: { default: 500, blur: 0 } }" /><br />
Run Code Online (Sandbox Code Playgroud)

此示例的问题在于,无论您是否离开字段/控件,它总是会延迟更新.而在这种情况下,应立即更新模型,当用户离开现场/控制,debounce0的情况下blur.

这是在Plunker中运行示例的链接.

谁能解释这种行为.

angularjs angularjs-model

2
推荐指数
1
解决办法
2062
查看次数