小编Mic*_* B.的帖子

如何在Bash中打印函数定义?

我已经定义了一些不同的功能.bash_profile.我通常记得函数的名称,但想在运行之前快速查看代码.

在我,.bash_profile我有以下内容:

gpm () {
  echo "git pull origin master"
  git pull origin master
}
Run Code Online (Sandbox Code Playgroud)

现在我想在Bash中运行这样的东西:

$ <something> gpm
Run Code Online (Sandbox Code Playgroud)

结果预期:不执行该功能只打印出功能定义本身.

bash

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

我在哪里可以找到Upshot.js示例和文档?

Steve Sanderson在2012年的荷兰Techdays上做了非常有趣的演讲.在其中一个中,他提出了一个用于MVC应用程序中客户端 - 服务器通信的库:Upshot.

我真的很惊讶它是多么容易使用它,所以我想下载并测试它.我在这里通过NuGet找到了下载链接,但我找不到任何文档.有没有人有一些有用的东西?我还要感谢Steve在演示过程中展示的示例代码.

编辑:

我找到了我在Techdays参加的在线演讲.这太值得一看了.您将了解结果的功能,并了解如何从中开始.祝好运并玩得开心点.

链接:http://channel9.msdn.com/Events/TechDays/Techdays-2012-the-Netherlands/2159

javascript asp.net asp.net-mvc-4 upshot asp.net-spa

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

如何以每个记录与"之前"记录连接的方式自行连接表?

我有一个MS SQL表,其中包含具有以下列的库存数据:Id, Symbol, Date, Open, High, Low, Close.

我想自己加入桌子,所以我可以获得日常的%变化Close.

我必须创建一个查询,将表与自己连接在一起,每个记录也包含来自前一个会话的数据(请注意,我不能使用昨天的日期).

我的想法是做这样的事情:

select * from quotes t1
inner join quotes t2
on t1.symbol = t2.symbol and
t2.date = (select max(date) from quotes where symbol = t1.symbol and date < t1.date)
Run Code Online (Sandbox Code Playgroud)

但是我不知道这是否是正确/最快的方式.在考虑性能时应该考虑什么?(例如,将UNIQUE索引放在(符号,日期)对上可以提高性能吗?)

此表中每年将有大约100,000条新记录.我正在使用MS SQL Server 2008

sql sql-server performance sql-server-2008

9
推荐指数
3
解决办法
3万
查看次数

如何在MVC3应用程序中的OnApplicationStarted中获取应用程序根(完整物理路径)?

直到现在我用过:

Dim appPath = HttpContext.Current.Request.MapPath(HttpContext.Current.Request.ApplicationPath)
Run Code Online (Sandbox Code Playgroud)

但今天我将我的应用程序从IIS6移动到IIS7,我得到"请求在此上下文中不可用"异常.这是由于IIS7中的集成模式管道.我不想进入经典模式,所以我正在寻找一种获取应用程序路径的不同方式(即"C:\ SVN\L2E\trunk\Website").

有谁知道如何获得我的MVC3应用程序的完整物理路径?

iis-7 path integrated-pipeline-mode asp.net-mvc-3

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

MVC3 CompareAttribute,客户端错误

我正在使用MVC3,我希望在同一页面上有LogIn表单和Register表单.为此,我构建了LogInRegisterViewModel,如下所示:

public class LogInRegisterViewModel
{
    public LogInViewModel LogIn { get; set; }
    public RegisterViewModel Register { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

它给了我想要的东西(在同一个屏幕上有两个表格)并将数据发布到正确的控制器并返回并显示表单错误(如果有的话).我唯一的问题是CompareAttribute,我在RegisterViewModel中有ConfirmPassword属性:

public class RegisterViewModel
{
    [Required]
    [Display(Name = "Friendly user name")]
    public string UserName { get; set; }

    [Required]
    [Display(Name = "E-mail address")]
    public string Email { get; set; }

    [Required]
    [DataType(DataType.Password)]
    [Display(Name = "Password")]
    [StringLength(16, ErrorMessage = "The {0} must be at least {2} characters long.", MinimumLength = 6)]
    public string Password { get; set; }

    [DataType(DataType.Password)]
    [Display(Name = …
Run Code Online (Sandbox Code Playgroud)

passwords validation compare asp.net-mvc-3

8
推荐指数
1
解决办法
4779
查看次数

在jquery UI选项卡中预选启用ajax的选项卡

我有与此处描述的完全相同的问题:http://bugs.jqueryui.com/ticket/7930.问题是维护者无法重现它,因此票证已关闭.我的代码如下:

<script type="text/javascript">
    $(document).ready(function () {
        // assigns the value of a GET parameter called tab to tabIndex
        var tabIndex = getUrlVars()['tab'];

        if (isNaN(tabIndex)) {
            tabIndex = 0;
        }

        // initializes tabs and selects the one provided in tabIndex (default: 0)
        $('div#tabs').tabs({ ajaxOptions: { cache: false}, selected: tabIndex });
    });
</script>
<div id="tabs">
    <ul>
        <li>@Html.ActionLink("User roles", "Roles", "Admin", New With {.rand = DateTime.Now.Ticks}, Nothing)</li>
        <li>@Html.ActionLink("Report templates", "Reports", "Admin", New With {.rand = DateTime.Now.Ticks}, Nothing)</li>
        <li>@Html.ActionLink("Blabla", "2", …
Run Code Online (Sandbox Code Playgroud)

jquery jquery-ui jquery-ui-tabs asp.net-mvc-3

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

为什么Windows Service不能与System.Timers.Timer或System.Windows.Forms.Timer一起正常工作

我最近遇到了编写Windows服务的挑战.我需要定期请求URL并检查其可用性.为此,我决定OnStart在服务方法中初始化一个计时器,并在timer_Tick事件中完成所有工作.

我的第一个方法是使用System.Windows.Forms.Timer它的Tick事件.我选择了它,因为我正在阅读的教程.不知怎的,我无法使服务工作.它安装并启动没有问题,但它不会触发事件(我将调试器附加到进程并看到它没有被触发).我认为在Windows服务中使用Forms计时器可能不是一个好主意,所以我决定切换到System.Timers.Timer并利用它的Elapsed事件.这也不起作用.我在Windows窗体应用程序中尝试了两种提到的方法,但它们都有效.

经过一番挖掘,我找到了这个网站:http://weblogs.asp.net/sibrahim/archive/2004/01/13/58429.aspx,博客建议使用另一个计时器:System.Threading.Timer.我第三次改变了这种方法,BOOM开始像魅力一样工作.

我的问题是:为什么我不能在Windows服务中使用其他计时器,为什么找到有关它的信息这么困难?

.net windows-services timer

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

Windows身份验证不起作用

我正在尝试在我的.NET 4.0 MVC3 Web应用程序中设置Windows身份验证,因此公司的Intranet用户可以在不提示的情况下登录.

在web.config我有:

<authentication mode="Windows" />
<authorization>
  <deny users = "?" />
</authorization>
Run Code Online (Sandbox Code Playgroud)

在IIS中,我禁用了整个Web应用程序的匿名访问,只保留了Windows身份验证.我在Windows 2003上使用IIS 6.0.

现在,当我从USER\COMPUTER访问该站点时,我在没有提示的情况下登录,但是作为错误的用户(不是我自己,而是运行Web应用程序的服务器的管理员帐户).

当我从USER\SOMESERVER访问该站点时,我以USERS身份登录,正如预期的那样.所有其他尝试从他们的计算机访问我的应用程序的人都会收到用户名和密码的提示(他们可以在提供有效凭据时登录).这一点特别奇怪,因为它们都在IE设置中打开了集成的Windows身份验证,并且*.domain.intra被添加到Intranet站点.

有谁知道发生了什么?如何使其工作,以便用户以自己的身份登录而不会被提示?

编辑:Web应用程序池作为NETWORK SERVICE运行,所以我不明白为什么我从我的开发机器以错误的用户身份登录...

EDIT2:由于我使用NETWORK SERVICE作为应用程序池的标识,因此我按照此处的解决方法步骤操作:http://support.microsoft.com/kb/871179.但它仍然无效......

所有用户和计算机都属于同一个域

EDIT3:我发现了这个:http://forums.iis.net/t/1167087.aspx.他们描述的问题完全相同.解决方案也有效.仍然存在的唯一问题是,从我的开发机器,我仍然以错误的用户身份自动登录.幸运的是,所有客户端计算机都以当前用户身份登录.

.net asp.net authentication windows-authentication asp.net-mvc-3

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

当由IIS提供服务时,Fontawesome不起作用

当我将我的应用程序放在IIS7服务器上时,FontAwesome对我不起作用.

在Firefox中,请求的URL被编码为http://l2etest.kema.intra/fonts/fontawesome-webfont.ttf%3Fv=4.0.3,我得到404.当我%3F改为?一切正常.

在IE中也发生了同样的事情,但请求转到了eot字体.

这就是我在CSS中所拥有的(与FontAwesome页面相同):

@font-face {
  font-family: 'FontAwesome';
  src: url('../fonts/fontawesome-webfont.eot?');
  src: url('../fonts/fontawesome-webfont.eot?#iefix&v=4.0.3') format('embedded-opentype'), url('../fonts/fontawesome-webfont.woff?v=4.0.3') format('woff'), url('../fonts/fontawesome-webfont.ttf?v=4.0.3') format('truetype'), url('../fonts/fontawesome-webfont.svg?v=4.0.3#fontawesomeregular') format('svg');
  font-weight: normal;
  font-style: normal;
}
Run Code Online (Sandbox Code Playgroud)

我认为问题是IIS编码URL而不是请求../fonts/fontawesome-webfont.eot?请求../fonts/fontawesome-webfont.eot%3F.

请不要建议删除'?' 或来自网址的"#".他们是有目的的,是必不可少的.问题是如何使IIS不以这种方式编码URL.任何线索将不胜感激.

编辑:顺便说一句.上面的情况发生在web.config中我设置requestValidationMode和requestPathInvalidCharacters:

<httpRuntime shutdownTimeout="360" maxRequestLength="102400" enable="true" requestValidationMode="2.0" requestPathInvalidCharacters="" />
Run Code Online (Sandbox Code Playgroud)

没有它我得到400(错误的请求): 从客户端检测到一个潜在危险的Request.Path值(?)

如何修复IIS以正确提供字体?

编辑2: 好的,我找到了问题的原因.用于MVC3的SquishIt捆绑工具正在改变这些角色.当我从bundle中排除font-awesome.css时,一切正常.

css iis fonts iis-7 font-awesome

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

永远不会调用IMetadataAware.OnMetadataCreated

我创建了属性类来将元数据附加到属性,因此我可以显示表单输入字段的工具提示.

HelpAttribute实施IMetadataAware:

Public Class HelpAttribute
    Inherits Attribute
    Implements System.Web.Mvc.IMetadataAware

    Public Sub New(text As String)
        _text = text
    End Sub

    Private _text As String
    Public ReadOnly Property Text As String
        Get
            Return _text
        End Get
    End Property

    Public Sub OnMetadataCreated(metadata As System.Web.Mvc.ModelMetadata) Implements System.Web.Mvc.IMetadataAware.OnMetadataCreated
        metadata.AdditionalValues.Add("HelpText", _text)
    End Sub
End Class
Run Code Online (Sandbox Code Playgroud)

我在扩展方法中使用此元数据:

<Extension()>
Public Function HelpFor(Of TModel, TProperty)(ByVal htmlHelper As HtmlHelper(Of TModel), expression As Expression(Of Func(Of TModel, TProperty))) As MvcHtmlString
    Dim metaData = ModelMetadata.FromLambdaExpression(Of TModel, TProperty)(expression, htmlHelper.ViewData)

    If metaData.AdditionalValues.ContainsKey("HelpText") …
Run Code Online (Sandbox Code Playgroud)

vb.net assemblies metadata helper asp.net-mvc-3

6
推荐指数
2
解决办法
1381
查看次数