我有以下路线:
{语言}/{控制器} .mvc/{动作}/{ID}
一旦用户选择了语言,它就会以路由值语言进行维护.
HTTP://本地主机:4000 /德/ Account.mvc /注册
如果用户点击需要修改的页面,我会遇到问题.然后他被重定向到http:// localhost:4000/Account.mvc/Login?ReturnUrl =%2fde%2fAccount.mvc%2fProfileData
登录页面在web.config中配置,不允许路由中的参数.登录后的页面正常(http:// localhost:4000/de/Account.mvc/ProfileData),但登录页面本身没有路由值语言.
我怎样才能解决这个问题?
编辑
我使用了Darin的答案,但必须包含原始Authorize过滤器(AuthorizeAttribute.cs)中的所有代码.原因记录在该文件中.它处理未经授权的用户可能从缓存中获取安全页面的情况.
以下是代码中的注释:
// ** IMPORTANT **
// Since we're performing authorization at the action level, the authorization code runs
// after the output caching module. In the worst case this could allow an authorized user
// to cause the page to be cached, then an unauthorized user would later be served the
// cached page. We work around this by telling proxies …Run Code Online (Sandbox Code Playgroud) 我一直在使用SMO来传输数据库.使用TransferDatabase任务很容易从c#处理.
对于我目前的项目,这会变慢.我必须切换到脱机模式,数据库是分离和分离的.
从c#开始这样一个过程最麻烦的方法是什么?我知道有SSIS,但如果可能,我不想使用它.在我的机器上安装SSIS有点痛苦.
我有一个只读数据库(产品),它自己的Sql Server 2008.
我已经通过查看活动监视器中最昂贵的查询 - 报告来优化查询.我按CPU成本订购了报告.我现在有50个查询/秒,没有查询超过300毫秒.
CPU时间正常(30%),内存仅使用20%(超出64GB).
有一个问题:磁盘时间稳定在100%(我查看了空闲时间性能计数器并使用了ideras SQL诊断管理器).我可以看到产品db的行为与我的订单db不同,后者位于不同的机器上并且具有较小的表:如果我查看分析器跟踪,我在product-db中有查询,显示"read"列中的值高于50.000 .在我的订单数据库中,这些值永远不会高于1000.product-db中的查询使用大量的通用表表达式,处理大型表(有些约为500万条).
如果我应该花时间优化i/o性能查询,或者我应该只添加一个服务器,那么我并不感到害羞.通过确定查询持续时间,我已经添加了缺失的索引.是否优化i/o通常会做什么?
我是一名经验丰富的.NET开发人员,但我没有做过很多网络开发,特别是从头开始新网站.
现在我想为我的一个爱好建立一个网站.我意识到我需要的大部分功能已经很大,并且有望作为opensource发布.我的愿望是为我的网站找到一个具有基本功能的skelletton.这将给我带来特定和有趣的部分....
我希望: - 网站登录一次. - 用户档案. - 用户可以提供文章,图片,链接等的可能性 - 留下文章的评论. - 生成Feed. - 使用ASP.NET MVC构建站点
谁能指出我正确的方向?我从哪里开始?
有一个包含的路由表
routes.MapRoute("404-PageNotFound", "{*url}", new { controller = "Error", action = "PageNotFound" });
Run Code Online (Sandbox Code Playgroud)
web.config有:
<customErrors mode="RemoteOnly">
<error statusCode="404" redirect="/Error/PageNotFound" />
</customErrors>
Run Code Online (Sandbox Code Playgroud)
当没有路由匹配并且使用以下方式呈现错误视图时,ErrorController会被命中:
public ActionResult PageNotFound(ViewModelBase model)
{
return View(model);
}
Run Code Online (Sandbox Code Playgroud)
响应的状态代码为200,但在这种情况下需要404.有没有办法返回http代码404和客户错误?
在CD-ROM上分发小型数据库的好方法是什么?
数据库必须加密.它必须在WinXP和Vista上运行.该应用程序使用C#编写,也可以在CD上分发.记录只能读取但不能写入.
可以运行安装程序,但我们不想这样做.
数据库有100000条记录,性能不是主要目标.
编辑:是的,用户必须输入密码才能解密数据库.
如果我查看我的cookievalue .ASPXANONYMOUS它是一个字符串即
WZnX-rXHygEkAAAAOTFhZjE5YTctZmEzZi00MTMwLWEwNTAtYjYwMzI0N2M0NTY4gQUsRlThiJWAjBgmBnpeIba7eGo1
值Request.AnonymousID是Guid.
你怎么从ASPXANONYMOUS到AnonymousID?
我需要这个来调试我使用FormsAuthentication的一些问题.
我有一个执行几个查询的存储过程。每个查询都可能因超时而失败。
我仍然想继续执行其他查询。这可能吗?try catch 是否适用于超时?
我当然可以为每个查询使用不同的 sp,但这会使应用程序更加复杂。
asp.net-mvc ×4
c# ×2
sql-server ×2
asp.net ×1
cd ×1
database ×1
hard-drive ×1
http-error ×1
performance ×1