我正在开发一个asp.net MVC Web应用程序,客户端要求我们尽最大努力使其尽可能具有抵御拒绝服务攻击的能力.他们担心该网站可能会收到恶意的大量请求,意图减慢/取消网站.
我已经与产品所有者讨论了这个问题,因为它实际上不属于实际的Web应用程序.我认为托管/网络团队有责任监控流量并响应恶意请求.
但是他们坚持认为应用程序应该内置一些预防措施.但他们不想实施CAPTCHA.
有人建议我们限制在给定时间范围内可以为会话提出的请求数.我在考虑做这样的事情 在ASP.NET MVC中实现请求限制的最佳方法?但是使用会话ID不是客户端IP,因为这会给来自公司防火墙后面的用户带来问题 - 他们的IP都是一样的.
他们还建议添加关闭网站某些区域的功能 - 建议管理员用户可以关闭数据库密集区域......但是这可以通过UI控制,当然如果它是在DOS攻击下管理员用户无论如何都无法达到它.
我的问题是,这样做真的值得吗?当然真正的DOS攻击会更先进吗?
你有什么其他的建议?
我目前正在开发一个项目,并注意到一位同事已开始将集成测试添加到单元测试文件中。我正在考虑将它们取出并放入一个新项目中。这是一个好主意吗?
我正在与自己辩论在使用Entity Framework的项目中创建ViewModel类的重点是什么?
我目前有一个使用EntityFramework的项目.我的解决方案基本上是这样的:
我的控制器将实体框架直接创建的实体传递给视图.
这很好,很简单.
在过去,我会创建单独的视图模型类,并从EntityFramework创建的实体映射到这些视图模型.但现在我正在努力看到这一点.
我目前正在帮助实现一个项目,该项目从实体框架生成的实体映射到视图模型.它实际上使用AutoMapper来做到这一点.
现在这一切似乎都需要付出很多努力和代码.
我在这里错过了什么吗?
asp.net-mvc design-patterns entity-framework automapper asp.net-mvc-viewmodel
我已经构建了一个xamarin.ios应用程序.该应用程序一直工作得很好.没有代码更改,并且突然出现,应用程序现在在访问摄像头时崩溃.我不知道为什么会这样,有人能解释一下这个问题吗?我已经谷歌围绕这个错误并尝试了各种各样的东西,包括删除各种包.我最近更新到ios 10,但更新后应用程序仍然正常工作.错误如下:
2016-10-10 21:44:28.925 Coacher [307:24128]批评:原生堆栈跟踪:
2016-10-10 21:44:28.934 Coacher [307:24128] critical:0
libmonosgen-2.0.dylib 0x00363d33 mono_handle_native_sigsegv + 242 2016-10-10 21:44:28.934 Coacher [307:24128] critical:1 libsystem_platform.dylib
0x1db5326d _sigtramp + 24 2016-10-10 21:44:28.935 Coacher [307:24128] critical:2 libsystem_kernel.dylib 0x1da9fd8f + 64 2016-10-10 21:44:28.935 Coacher [307:24128] critical:3 libsystem_kernel. dylib 0x1da9fdd9 system_set_sfi_window + 0 2016-10-10 21:44:28.935 Coacher [307:24128] critical:4 TCC 0x201a8e85 + 228 2016-10-10 21:44:28.936 Coacher [307:24128] critical:5 TCC 0x201a8da1 + 0 2016-10-10 21:44:28.936 Coacher [307:24128]关键:6 TCC
0x201ab57b + 276 2016-10-10 21:44:28.936 Coacher [307:24128]关键:7 libxpc.dylib 0x1db8915f + 46 …
var item = "" + dr["someString"];
Run Code Online (Sandbox Code Playgroud)
要么
var item = Convert.ToString(dr["somestring"]);
Run Code Online (Sandbox Code Playgroud)
上述示例的性能影响是什么?
我正在使用Azure Notification Hub替换PostSharp,因为post sharp似乎已停止在Azure中工作.我已经设置了我的应用程序并将其设备标记注册到Azure.我已经测试了从Azure门户广播到所有的推送通知,它的工作原理.
但是,我想修改我的Web API项目,以便我可以向特定设备发送通知.到目前为止,我所获得的代码是设备标签是iPhone的设备标签:
var alert = "{\"aps\":{\"alert\":\"Hello from .NET!\"}}";
await hub.SendAppleNativeNotificationAsync(alert, new List<string> { deviceTag });
Run Code Online (Sandbox Code Playgroud)
但这不起作用.我以为我可以发送类似于后期锐利工作的设备标签?我有点困惑,因为我知道这个设备已成功注册Azure中的集线器,因为如果我从门户网站进行测试广播,它会收到通知.如何修改我的API代码以发送到特定设备?我偶然发现了这篇文章https://azure.microsoft.com/en-gb/documentation/articles/notification-hubs-aspnet-backend-windows-dotnet-wns-notification/,但它似乎很奇怪,因为我已经知道了这个设备令牌.是否可以向集线器发送通知并指定设备标签?
我可以使用以下代码向对话框添加一个按钮:
var buttonName = "test";
var func = new function(){alert("")};
var buttons = $('#SomeID').dialog('option', 'buttons');
buttons[buttonName] = func;
$('#SomeID').dialog('option', 'buttons', buttons);
Run Code Online (Sandbox Code Playgroud)
但我希望我的按钮也有一个ID,如何添加一个ID属性的按钮?
asp.net-mvc ×2
c# ×2
xamarin.ios ×2
automapper ×1
azure ×1
ddos ×1
ios ×1
jquery ×1
jquery-ui ×1
sigabrt ×1
unit-testing ×1
xamarin ×1