小编kei*_*thm的帖子

在Linux上部署ASP.NET MVC:最佳实践,工具和意外

我想知道开发ASP.NET MVC应用程序的最佳实践,可选择在Linux上部署.如果您正在创建这些类型的MVC应用程序,

  • 您定位的Linux/Mono平台是什么?
  • 你在Windows上做了多少开发,在Linux上有多少开发?
  • 您是否使用ORM来抽象数据库?哪一个?
  • 你在Linux上运行构建引擎吗?测试怎么样?
  • 您还使用了哪些其他工具?
  • 除了Windows之外,还有多少工作要针对Linux?
  • 你遇到了什么丑陋或惊喜的惊喜?

.net linux asp.net asp.net-mvc mono

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

为什么Zend Framework如此受欢迎?

我不是一个巨魔,我的目标不是开始一场火焰战; 我不是不尊重Zend框架的作者:它有很多很好的工作.但是......我有一份工作要完成,而且我很难协调ZF的受欢迎程度与使用它构建应用程序的现实.我真的想知道其他人为什么使用Zend Framework.

我对PHP世界还很陌生,但我已经用很多语言做了很多编程.在阅读了许多教程并在其中构建了几个应用程序后,一些核心Zend Framework工具对我来说就像是alpha代码.对我来说,下面的根本性缺陷,等等,似乎过于庞大考虑部署它的应用程序-但一遍又一遍的ZF建议为一体的,如果不是领先的框架.

首先让我说我发现ZF的大部分是可行的.路由工作非常适合,布局工具是可维护的(虽然与模板系统(如JSP/ASP)非常不同),缓存设施等也是如此.社区中似乎有一种趋势,即填充大量建模(例如验证)和查看逻辑(例如$ this-> headScript() - 为什么我的控制器必须关心我的视图需要哪个js文件?)到控制器中但可能是使用问题而不一定是框架的错误.

现在,我在短时间内遇到了一些非常严重(IMO)的弱点.如果我继续用它构建,我会想象未来我会发现的其他领域.

1.表单布局
许多人似乎对缺乏对表单布局的控制感到不满.你怎么能有一个流行的框架,构建一个简单的表单需要这么多的讨论? 问题1问题2.

2.认证/授权
似乎没有人真正理解如何简单地执行例行认证/授权.人们[包括你的人]真正努力实现简单的访问控制.此外,该方法似乎依赖于持久性的序列化,而不是传统的用户和权限的数据库存储. 一个令人困惑的例子,一个建议,增加设施,教程-第一部分, 和第二部分.这是太多的工作家伙!

我认为的弱点是不真实的还是某种程度上不是问题?为什么或者为什么不?你为什么选择Zend Framework(或不)?您是否发现其他区域如此痛苦以至于您想要将ZF转换为其他方法?谢谢你的意见.

php zend-framework

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

如何将IoC Membership provider与ASP.NET MVC集成

我有一个自定义成员资格/角色提供程序,我在我的MVC控制器中使用,我也希望ASP.NET MVC可以访问,所以我可以使用AuthorizationFilters等.由于很多人已经实现了自定义提供程序,我想很多人都做过这个,但我没有想出来或发现专门解决这个问题的帖子.这篇文章有点像我的问题的另一面.在我的情况下,我的自定义提供程序与我的控制器配合良好,我也希望MVC也能使用它.

我的提供程序使用IoC /依赖注入设计实现.提供程序公开了基线成员资格/角色API之外的其他功能.在我的控制器中,我使用Castle Windsor创建实例.代码看起来类似于:

public class HomeController : Controller {
    IMembershipService _membershipService;
    public HomeController(IMembershipService membershipService) {
        _membershipService= membershipService;
    }
}

<castle>
 <components>
  <component id="MembershipService" 
             service="IMembershipService, MyApp" 
             type="MembershipService, MyApp" lifestyle="PerWebRequest">
    <parameters>
      <connectionString>#{defaultConnectionString}</connectionString>
    </parameters>
  </component>
 </components>
</castle>

public class WindsorControllerFactory : DefaultControllerFactory {
    private WindsorContainer _container;
    public WindsorControllerFactory() {
        _container = new WindsorContainer(new XmlInterpreter(new ConfigResource("castle")));

        List<Type> controllerTypes = new List<Type>();
        foreach (Type t in Assembly.GetExecutingAssembly().GetTypes()) {
            if (typeof(IController).IsAssignableFrom(t))
                controllerTypes.Add(t);
        }

        foreach (Type t in controllerTypes) {
            // LifestyleType.Transient = …
Run Code Online (Sandbox Code Playgroud)

asp.net-mvc dependency-injection castle-windsor asp.net-membership

18
推荐指数
1
解决办法
6729
查看次数

<msbuild>任务或msntild.exe与NAnt?

看起来有(至少)两个选项可以让nant使用csproj文件:使用NAntContrib的任务或直接使用msbuild.exe(例如,codecampserver).我是否正确阅读,如果是这样,使用msbuild.exe优于NAntContrib任务有什么好处?

msbuild nant nantcontrib

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

如何在Windows MVC站点中集成axd(Elmah)作为组件

我在我的ASP.NET MVC站点中启动并运行Elmah,并且我希望将其界面与站点的管理页面集成.默认情况下,您使用url~/elmah.axd调用接口,该接口在MVC系统外部运行.安装要求你告诉MVC忽略路由,所以没有控制器或任何知道elmah的东西.安装建议特定忽略,即使默认情况下已被忽略:

public class MvcApplication : System.Web.HttpApplication {
    public static void RegisterRoutes(RouteCollection routes) {
        routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
        routes.IgnoreRoute("elmah.axd");
...
}
Run Code Online (Sandbox Code Playgroud)

我想尝试将elmah.axd集成为网站的一个组件.我想有一个Elmah控制器,其视图使用Futures助手Html.RenderRoute,但我不确定要传递的参数:

<asp:Content ID="Content2" ContentPlaceHolderID="MainContent" runat="server">
    <h2>Elmah</h2>
    <% Html.RenderRoute(???); %>
</asp:Content>
Run Code Online (Sandbox Code Playgroud)

这是否有意义 - 有没有办法将网址传递给Html.RenderRoute?有没有更好的方法不使用Html.RenderRoute?

asp.net-mvc elmah health-monitoring asp.net-mvc-futures

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

使用XSLT标记文本匹配正则表达式?

我试图在HTML文档上使用XSLT 2.0(Saxon-PE 9.6)来创建围绕指定的非拉丁语Unicode块(允许的空格)的所有连续字符行的标记.我需要将此过程应用于文档中的每个text()节点.我在使用<xsl:analyze-string>和使用两种方法方面取得了一些进展,fn:replace()但我无法达成令人满意的完整解决方案.

例如,这里有一些包含印地语的文字:

输入: <p>??? ?? ?? means ‘cup of tea’ in ??????.</p>

期望的输出: <p><span xml:lang="hi-Deva">??? ?? ??</span> means ‘cup of tea’ in <span xml:lang="hi-Deva">??????</span>.</p>

如何在XSLT 2.0中实现此过程?


这是我的尝试<xsl:analyze-string>:

(注意:印地语使用梵文代码块U + 0900到U + 097F.)

<xsl:template match="text()">
  <xsl:variable name="textValue" select="."/>

  <xsl:analyze-string select="$textValue" regex="(\s*.*?)([&#x0900;-&#x097f;]+)((\s+[&#x0900;-&#x097f;]+)*)(\s*.*)">

    <xsl:matching-substring>
      <xsl:value-of select="regex-group(1)"/>
      <span xml:lang="hi-Deva"><xsl:value-of select="regex-group(2)"/><xsl:value-of select="regex-group(3)"/></span>
      <xsl:value-of select="regex-group(5)"/>
    </xsl:matching-substring>

    <xsl:non-matching-substring>
      <xsl:value-of select="$textValue"/>
    </xsl:non-matching-substring>

  </xsl:analyze-string>
</xsl:template>
Run Code Online (Sandbox Code Playgroud)

在测试输入上,这会产生: <p><span xml:lang="hi-Deva">??? ?? ??</span> means ‘cup of tea’ in ??????.</p>这种方法错过了印地语文本的第二个区域(हिन्दि).我需要一种方法来查找和标记正则表达式匹配的所有匹配项.

我使用的第二种方法fn:replace():

<xsl:template …
Run Code Online (Sandbox Code Playgroud)

xml xslt unicode saxon xslt-2.0

4
推荐指数
1
解决办法
1340
查看次数