针对在asp.net中强制整个站点使用https的最佳方法是什么?和如何强制https这两个问题,本篇文章进行了详细的解答,同时本文还将给你拓展asp.net–(客户端)禁用提交按钮的最佳方法是什么?
针对在 asp.net 中强制整个站点使用 https 的最佳方法是什么?和如何强制https这两个问题,本篇文章进行了详细的解答,同时本文还将给你拓展asp.net – (客户端)禁用提交按钮的最佳方法是什么?、asp.net – 在生产服务器上运行EF迁移的最佳方法是什么?、asp.net – 基于角色为网站实现不同视图的最佳方法是什么?、asp.net – 处理缓存和浏览器后退按钮的最佳方法是什么?等相关知识,希望可以帮助到你。
本文目录一览:- 在 asp.net 中强制整个站点使用 https 的最佳方法是什么?(如何强制https)
- asp.net – (客户端)禁用提交按钮的最佳方法是什么?
- asp.net – 在生产服务器上运行EF迁移的最佳方法是什么?
- asp.net – 基于角色为网站实现不同视图的最佳方法是什么?
- asp.net – 处理缓存和浏览器后退按钮的最佳方法是什么?
在 asp.net 中强制整个站点使用 https 的最佳方法是什么?(如何强制https)
大约 6 个月前,我推出了一个网站,每个请求都需要通过 https。当时我能找到确保对页面的每个请求都通过 https
的唯一方法是在页面加载事件中检查它。如果请求不是通过 http 我会 response.redirect(“
https://example.com “)
有没有更好的方法——最好是 web.config 中的一些设置?
asp.net – (客户端)禁用提交按钮的最佳方法是什么?
>仅在用户单击提交按钮后,但在发回服务器之前禁用
> ASP.NET Webforms(.NET 1.1)
>喜欢jQuery(如果有的话)
>如果表单重新加载(即信用卡失败),必须启用
这不是我这样做的必要条件,但是如果有一个简单的方法来做,而不必改变太多,我会这样做. (即如果没有一个简单的解决方案,我可能不会这样做,所以不必担心挖得太深)
解决方法
$('input[type=submit]').click(function() { this.disabled = true; });
或者在表单提交时可能会更有用:
$('form').submit(function() { $('input[type=submit]',this).attr("disabled","disabled"); });
但是,如果我们更了解上下文,我想我们可以更好地回答你的问题.
如果这是ajax请求,那么您需要确保在成功或失败时再次启用提交按钮.
如果这是一个标准的HTTP表单提交(除了使用javascript禁用该按钮之外),并且您正在这样做以防止同一表单的多次提交,那么您应该在处理该表单的代码中进行某种控制提交的数据,因为禁用javascript的按钮可能不会阻止多次提交.
asp.net – 在生产服务器上运行EF迁移的最佳方法是什么?
> VS2015
> ASP.NET 5 MVC 6项目
> EF 7
>我的项目的一些迁移
> Azure网站
>我通过VS发布“Publish ..”wizzard.
我需要的:
>我需要知道在生产数据库上运行迁移的最佳方法是什么.
>我更喜欢可以自动化的东西.最佳解决方案将集成在“发布”向导中.
笔记:
>我正在使用“dnx ef database update”在我的开发站上运行迁移.我想我可以使用webapp PS控制台,但……似乎不是正确的方法.
>我知道我可以为迁移生成一个sql脚本,但这似乎太手动了.
>我记得“发布”向导过去选择了“执行EF迁移”选项.现在看不到它.
解决方法
在我工作的客户项目中,每个开发人员都有自己的数据库副本,他们在那里测试了所有的迁移.签入应用程序代码和迁移代码后,我们使用TeamCity作为CI服务器来部署网站,更新登台数据库,并运行单元测试和集成测试.
我们将sql脚本(由EF生成)提供给DBA团队以针对生产数据库运行.我们的开发团队从未接触过生产数据库.
如果您被允许更新生产数据库,您可以自己完成.但我强烈建议检查然后运行EF生成的脚本,必要时可以回滚.另外,不要忘记根据需要备份生产数据库.
由于您需要自动化(如果您对它感到满意),您可以使用CI系统更新您的生产数据库,这是我的团队和我更新我们的暂存数据库的方式.
希望有所帮助!
asp.net – 基于角色为网站实现不同视图的最佳方法是什么?
>根据您的权利显示某些控件?
>对于gridview控件,如何根据角色显示某些列?
我想2号,数据来自数据库的角色特定视图.
解决方法
这样,您可以重新定义角色拥有的权限,而不必更改代码.
此外,这允许您在将来创建新角色,并为角色分配一组权限.
对于控件,是的…我只是根据user.IsInRole(“permissionname”)值在控件上设置Visible属性.
对于网格,我会做同样的事情……将列的可见性设置为IsInRole布尔值.
//Delete Icon Column gridViewContacts.Columns[0].Visible = user.IsInRole("DeleteAnyContact");
我会以非常精细的方式创建您的权限..例如
> ViewAnyContact> ViewOwnContact> EditOwnContact> EditAnyContact> AddAnyContact> DeleteOwnContact> DeleteAnyContact>等等……
asp.net – 处理缓存和浏览器后退按钮的最佳方法是什么?
解决方法
Response.Cache.SetExpires(DateTime.Now.AddSeconds(60)); Response.Cache.SetCacheability(HttpCacheability.Public); Response.Cache.SetValidUntilExpires(false); Response.Cache.varyByParams["Category"] = true; if (Response.Cache.varyByParams["Category"]) { //... }
或者可以使用HttpResponse.CacheControl完全阻止页面的缓存,但是它已经被弃用,而不是上面的Cache属性:
Response.CacheControl = "No-Cache";
编辑:或者你真的可以go nuts并且手动完成所有操作:
Response.ClearHeaders(); Response.AppendHeader("Cache-Control","no-cache"); //HTTP 1.1 Response.AppendHeader("Cache-Control","private"); // HTTP 1.1 Response.AppendHeader("Cache-Control","no-store"); // HTTP 1.1 Response.AppendHeader("Cache-Control","must-revalidate"); // HTTP 1.1 Response.AppendHeader("Cache-Control","max-stale=0"); // HTTP 1.1 Response.AppendHeader("Cache-Control","post-check=0"); // HTTP 1.1 Response.AppendHeader("Cache-Control","pre-check=0"); // HTTP 1.1 Response.AppendHeader("Pragma","no-cache"); // HTTP 1.1 Response.AppendHeader("Keep-Alive","timeout=3,max=993"); // HTTP 1.1 Response.AppendHeader("Expires","Mon,26 Jul 1997 05:00:00 GMT"); // HTTP 1.1
关于在 asp.net 中强制整个站点使用 https 的最佳方法是什么?和如何强制https的问题我们已经讲解完毕,感谢您的阅读,如果还想了解更多关于asp.net – (客户端)禁用提交按钮的最佳方法是什么?、asp.net – 在生产服务器上运行EF迁移的最佳方法是什么?、asp.net – 基于角色为网站实现不同视图的最佳方法是什么?、asp.net – 处理缓存和浏览器后退按钮的最佳方法是什么?等相关内容,可以在本站寻找。
本文标签: