小编She*_*els的帖子

VB.NET中的Razor View引擎怪癖

我刚刚下载了MVC 3.0 RC,我很高兴开始使用它,尤其是Razor视图引擎.然而,由于在这里的泥类型中有一些人,我们坚持使用VB.NET而不是C#.

当我开始尝试时,我注意到了一些怪癖.如果您使用CSHTML创建Razor视图,则可以编写如下代码:

@foreach(string genreName in Model.Genres)
{
    <li>@genreName</li>
}
Run Code Online (Sandbox Code Playgroud)

Razor会自动检测到<li>文本是HTML标记,并将切换出"代码模式".使用VB.NET VBHTML文件,这似乎不起作用.它让我把@:关键字放在每一行的前面,如下所示:

@For Each genreName As String In Model.Genres
    @:<li>@genreName</li>
Next
Run Code Online (Sandbox Code Playgroud)

如果我没有它,我会收到运行时错误.此外,<text></text>标签似乎不起作用.

有人知道这里发生了什么,或者是否有解决方法?

vb.net asp.net-mvc visual-studio-2010 razor

22
推荐指数
1
解决办法
1万
查看次数

是否有任何.NET内容管理系统专注于可用性并忽略了膨胀?

我在一家主要基于.NET的商店工作,我们正试图选择一个内容管理系统来使用.这意味着我们很可能无法使用任何常见的开源CMS项目(Plone,phpNuke,不基于.NET的anthing等).

由于我是一个巨大的可用性书呆子(刚读完诺曼的日常设计),我一直在从这个角度看待它们.坦率地说,我没有留下太深刻的印象.这句话总结了一下:

大多数开源内容管理软件都是无用的.唯一更糟的是我使用的每个商业CMS.- 杰弗里·维恩

以下是我们要求的简短列表:

  • 必须基于.NET
  • 喜欢开源或廉价的一面
  • 有限的功能集(我们不需要太多功能,它们使事情更难使用)
  • 是否需要Active Directory集成和强大的权限
  • 应该专注于Web标准和可用性

我知道这可能是一个不可能的功能列表,但有没有任何内容管理系统有点像他们可能不会比戴森更糟糕?

编辑:

这是目前的情况:

  • 我要去推N2.我已经使Active Directory集成运行良好(我甚至编写了一个自定义角色提供程序).唯一缺少的是工作流功能.希望我可以得到一些东西,因为这是最后一个关键点.如果我能弄明白,N2Contrib项目可能会提供一个起点.

  • 如果/它何时开始,我仍然希望查看Stencil CMS.

  • 我的一位同事试图让Umbraco继续前进,但运气不佳.

谢谢您的帮助!

asp.net usability content-management content-management-system

7
推荐指数
1
解决办法
575
查看次数

在.NET业务层中构造Vs类

我现在陷入了一个"高级"ASP.NET课程,我的导师只是提出了一个我不确定的观点.(我说"高级",因为他仍然使用HTML表格进行页面布局,我们刚刚讨论了Master Pages非常高级的主题.我需要眼睛漂白!)

他声明,创建一个包含所有适用的数据和方法的Person类,而不是创建Person类和Person类.该结构包含通常为Person类的属性,并且该类仅包含方法.由于Person结构位于堆栈上,因此只要您的方法或任何弹出堆栈而不是像堆栈一样在堆上进行垃圾收集,与您的人员关联的数据就会消失.

这应该可以节省内存并使垃圾收集过程更快.

问题是:这会产生多大的影响并且真的值得吗?

.net asp.net memory-management

7
推荐指数
2
解决办法
1163
查看次数

在SQL Server 2008中加密SSN的最佳方法是什么?

我正在使用.NET 3.5和SQL Server 2008开发一个新的Web应用程序,需要存储一些社会安全号码.我一直在做一些关于数据库加密的初步阅读,这有点令人困惑.

我很乐意使用非对称密钥加密SSN,因为面向公众的应用程序一旦加密就无法检索任何数据.我在想,只有管理界面才能解密并显示数据.但听起来SQL Server只使用对称密钥保护数据?

那么,在SQL Server 2008中加密SSN的最佳方法是什么?如果您链接到一个或两个好的教程,奖励积分.

sql-server encryption sql-server-2008

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

避免在业务层中使用SelectList(MVC 3)

我正在研究一个相当大的MVC 3应用程序,我遇到了一个对我来说闻不通的问题.这个问题需要一些设置才能理解,所以这里有我正在操作的前提:

  • 视图应该是强类型的(应避免使用ViewBag/ViewData)
  • 由于视图是强类型的,因此应创建视图模型对象,以封装视图需要显示的所有数据
  • 当我们需要下拉菜单时,我们应该有两个属性:
    1. 模型中的属性,用于存储下拉列表的选定值
    2. 一个SelectList视图模型,代表了降下来的物品属性
  • 视图本身始终使用@Html.DropDownListFor()辅助方法
  • 我们正在使用Entity Framework 4,并让它从我们已经设计的数据库中生成实体类
  • 为了避免重复并利用LINQ,我们不是创建自己独立的业务/模型类,而是添加到实体框架生成的部分类
  • 我们编写的这些部分类位于业务层中,以使所有内容都能正确编译
  • 大多数模型类都有一个共享编辑器模板,可以在多个视图中使用

这就是麻烦的来源.共享编辑器模板的模型类型设置为模型类.这意味着构成编辑器模板的局部视图无权访问包含下拉项列表的包含视图模型对象.

我能够通过SelectList直接向业务层中的模型类添加属性来"解决"这个问题,而不是将其保留在视图模型中.但是这个SelectList类特定于MVC,这反过来意味着我的业务层依赖于MVC.这对我来说似乎不对,因为BL应该与UI无关.

还有其他人遇到过这个问题吗?我该怎么解决这个问题?我的一个前提也可能是错的.

asp.net-mvc entity-framework entity-framework-4 asp.net-mvc-3

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

如果关闭Javascript,Braintree.js会发生什么?

有一次,我把Braintree视为可能的支付供应商并检查了他们的API.当时,他们拥有"透明重定向"选项,解决了许多PCI合规性问题,而无需用户查看支付供应商的网站.此选项将信用卡数据发布到Braintree的服务器,并使用令牌发回302重定向.

现在看起来他们正在推动Braintree.js选项,该选项在将其发布到卖家网站之前对浏览器中的信用卡数据进行加密.我的问题是:

在用户的浏览器中关闭Javacript会发生什么?

我意识到,由于输入标签没有名称属性,因此不会发布,因此就明文卡号而言,这不是安全风险.但交易是否会爆炸?对于没有JS因任何原因工作的客户来说,真的没有后备吗?

编辑: 为了清楚起见,我完全了解Javascript如何在浏览器上工作等.这个问题更具体针对Braintree API本身及其中可用选项的情况.

javascript braintree

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

防止Azure在处理时停止工作

这可能是一个简单的问题,但我还没有看到直接的答案.假设我正在使用Azure辅助角色来执行某种长时间运行的任务,比如一个需要一个小时的任务.现在说MS决定工作者角色需要对其进行一些维护,并尝试将其关闭30分钟.

有没有办法让Azure等到该角色完成运行以进行维护?我确实看到了这个OnStop方法,但似乎你只能在关闭之前让事情延迟一段时间.

如果这是不可能的,那么你如何计划这个需要花费相当多时间并且不能分成更小块的操作呢?您是否只需回滚先前所做的任何更改,然后重试该任务?

c# azure azure-worker-roles

5
推荐指数
1
解决办法
926
查看次数

集成的Windows身份验证和SSL

我的Intranet上有一个管理网站,目前通过IIS 使用集成Windows身份验证.我们希望将此应用程序移至公共网站并使用SSL进行保护,以便我们的用户可以从任何地方访问它.

我一直在计划使用HttpModule从http重定向到https,但它看起来不适用于集成身份验证(登录弹出窗口出现在重定向之前).

我是否坚持使用IIS中的"require SSL"复选框?这似乎不是所有用户友好的,因为如果用户忘记使用https URL,则会获得一个不错的胖错误页面,而不是温和的重定向.

在这个情况下,你会怎么做?

asp.net ssl integrated-security

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