小编Jax*_*ian的帖子

在MVC 2编辑器模板中正确注册JavaScript和CSS

如何在ASP.NET MVC 2(RTM)编辑器模板中正确注册javascript块?

我所处的特定场景是我想将Dynarch JSCal2 DateTimePicker用于我的标准日期时间选择器,但这个问题通常适用于任何可重用的javascript包.我的模板现在正常工作,但我的主页中包含了我的JS和CSS,如果我真的需要它,我宁愿只包含这些东西:

<link rel="stylesheet" type="text/css" href="../../Content/JSCal2-1.7/jscal2.css" />
<link rel="stylesheet" type="text/css" href="../../Content/JSCal2-1.7/border-radius.css" />
<script type="text/javascript" src="../../Scripts/JSCal2-1.7/jscal2.js"></script>
<script type="text/javascript" src="../../Scripts/JSCal2-1.7/lang/en.js"></script>
Run Code Online (Sandbox Code Playgroud)

所以很明显我可以把这些行放到我的模板中,但是如果我有一个有5个DateTimePickers的屏幕,那么这个内容将重复5次,这是不理想的.无论如何,我仍然希望我的视图模板触发此代码被放入<head>我的页面.

虽然这与我提出这个问题完全无关,但我想我会在这里(到目前为止)分享我的模板,以防它以任何方式有用:

<%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl<DateTime>" %>

<%= Html.TextBoxFor(model => Model) %>
<input type="button" id="<%= ViewData.TemplateInfo.GetFullHtmlFieldId("cal-trigger") %>" value="..." />

<script type="text/javascript">
    var <%= ViewData.TemplateInfo.GetFullHtmlFieldId("cal") %> = Calendar.setup({
        trigger       : "<%= ViewData.TemplateInfo.GetFullHtmlFieldId(string.Empty) %>",
        inputField    : "<%= ViewData.TemplateInfo.GetFullHtmlFieldId(string.Empty) %>",
        onSelect      : function() { this.hide(); },
        showTime      : 12,
        selectionType : Calendar.SEL_SINGLE,
        dateFormat    : '%o/%e/%Y %l:%M %P' …
Run Code Online (Sandbox Code Playgroud)

javascript asp.net-mvc mvc-editor-templates asp.net-mvc-2

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

如何在EF4中回滚单元测试TearDown?

在我关于在EF4中回滚交易的研究中,似乎每个人都参考了这篇博文或提供了类似的解释.在我的场景中,我想在单元测试场景中执行此操作,我想在我的单元测试上下文中回滚几乎我所做的一切,以防止更新数据库中的数据(是的,我们会增加计数器但是没关系).为了做到这一点,最好遵循以下计划吗?我错过了一些概念或其他任何重要的概念(除了我SetupMyTestPerformMyTest函数不会真的存在这种方式)?

[TestMethod]
public void Foo
{
  using (var ts = new TransactionScope())
  {
    // Arrange
    SetupMyTest(context);

    // Act
    PerformMyTest(context);
    var numberOfChanges = context.SaveChanges(SaveOptions.AcceptAllChangesAfterSave);
    // if there's an issue, chances are that an exception has been thrown by now.

    // Assert
    Assert.IsTrue(numberOfChanges > 0, "Failed to _____");

    // transaction will rollback because we do not ever call Complete on it
  }
}
Run Code Online (Sandbox Code Playgroud)

c# unit-testing entity-framework transactions vs-unit-testing-framework

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

TFS 2010中的禁止模式登记政策

我一直在尝试使用TFS 2010 Power Tools的Forbidden Patterns部分而我只是不理解某些东西 - 我试图使用它时根本无法改变任何东西!我正在使用最近发布的版本(我相信2010年4月23日),所以它不是旧版本.

首先,是的,我知道它是基于正则表达式的,所以让我们明白这个疑问......

我试图阻止以下场景:

1)我修改了所有T4 EF模板以生成名为的文件EntityName.gen.cs.然后我试图阻止TFS想要检查那些文件.我使用正则表达式\.gen\.cs\z并没有改变一件事!我甚至没有\z和nadda一起尝试过!

2)我不希望默认情况下签入app.config和web.config文件,因为我们将这些内容存储到app.config.base和web.config.base文件中,我们的构建脚本用它来生成我们的-environment app.config和web.config文件.因此,我尝试了以下正则表达式,再次,没有任何作用!web\.config\z,app\.config\z,web\.release\.config\zweb\.debug\.config\z.

我搞砸了这个是什么东西?

regex tfs visual-studio-2010 tfs-power-tools

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

TFS 2010 - TF14040可能无法检出文件夹

我在VS2010中有一个存储在TFS 2010团队项目中的.NET 4网站.我需要在网站上添加对System.Data.Linq.dll的引用.我正在引用另一个项目中定义的LINQ DataContext,我得到构建错误,说我需要对System.Data.Linq的引用.我进入"添加引用"菜单选项并像我任何普通引用一样添加它,它甚至显示在Web.config和网站的属性页面中......但是如果我构建我仍然得到同样的错误.

所以我在我的代码中找到了一个地方,我引用了LINQ计数函数,它告诉我它无效,因为我错过了一个引用,它提供了自动添加引用.我告诉它自动添加引用,正是在这一点上我得到了主题中提到的错误:

TF14040:可能无法检出文件夹$/Folder/Subfolder.没有物品被检出

我在网上做了一些研究,但我找不到多少.我在博客上看到,让文件夹不能直接解决他的问题,但除非我误解了某些内容,否则它似乎对我不起作用.

我尝试将项目从源代码控制加载到一台新的计算机上,之前从未加载过该项目,我可以用同样的方式重现问题.非常感谢帮助.

asp.net tfs visual-studio-2010 tfs2010

5
推荐指数
2
解决办法
2569
查看次数

这是一个有效且可能的Azure QA环境吗?

我正在尝试为我公司的应用程序套件制定有效的开发/测试/ QA环境,以便迁移到Azure.但是,我正在强制执行我们的dev/test/qa/etc的约束.环境实际上是在内部托管并通过构建服务器(例如CC.NET,TeamCity,Jenkins等)部署.

在这样的"测试环境"中,我们需要能够为QA和业务专业人员团队触发未发布代码(和数据)的特定快照的部署,以测试技术测试和业务验收测试.显然,所有这些人都不会编译并在Visual Studio中使用F5来进行此测试,因此我们需要一个可以部署的环境.在我们的SDLC中,在进行升级和生产之前,我们实际上经历了~4个这样的环境.简而言之,我们需要一个低开销(自动部署)和易于重现的流程.

在规划这个环境时,"如何托管Azure服务"这个问题显然很难.让我们来看看Azure的每个部分.斜体选项是我们想要的选择.

  • Web角色嗯,IIS可以或多或少地为我们处理这些(至少足以用于开发/测试情况 - 除了真正的负载测试,显然我们必须在Azure中做,这很好).
  • 工人角色我们在这里有两个选择.第一个是有一个Windows服务的"包装应用程序",我们可以使用它来托管我们的工作者角色调用功能的DLL(毕竟,我们真正的工作者角色项目不应该只是一个配置文件和调用DLL来执行工作的~4行代码.该选项有效,但需要一些非常不同的应用程序代码和部署代码管理/维护.第二个选项是使用Azure计算模拟器.只要您的工作者角色不需要监视外部端口或任何东西,这就可以工作.在我们的例子中,我们的工作者角色只需要监视队列,然后访问各种资源.与此问题(S)围绕着构建别共脚本,因为只有这样,才能自动部署到Azure的仿真器是运行CSPackCSRun托管在Azure Emultor,这可能不是您的构建服务器的机器上.因此,您必须执行某种远程脚本来完成此任务.
  • VM角色 我们并不关心这些,所以我完全忽略了这方面的测试.
  • 队列在这里,我们有3个选项.首先是使用MSMQ.因为这需要一个我们没有的完全不同的代码库(或者至少围绕那个不同的代码库进行抽象),我不会考虑这个选项.第二个是将队列保留在Azure中,因为它们非常小/便宜.我们实际上暂时这样做,直到我们可以尝试第三种选择.第三种选择是使用Azure存储模拟器.我不确定,但我相信这个选项只允许在本地计算机上运行的服务访问存储对象.对于队列,我们​​的应用程序代码是实际"部署"队列的代码,因此只要我们的应用程序代码实际在托管Azure存储模拟器的服务器上运行,这应该没问题.
  • 表格在这里,我们有3个选项.第一个是我讨厌的,那就是使用数据库并在其中创建一个表来访问这些表.我不是在考虑这个选择.第二个是将表保留在Azure中.我不喜欢这个,因为对于那些可能存储大量数据(每条记录高达1MB)的东西来说,这是很多来回.虽然队列非常轻巧且便宜,但桌面成本可以很快增加.这使我们第三个选择,使用Azure存储模拟器.我不确定,但我相信这个选项只允许在本地计算机上运行的服务访问存储对象.我仍然不理解模拟器中的所有优缺点表.
  • Blob在这里,我们有两个选择.第一个是坏的,这是将它们保存在Azure中.这些是最有可能的文件,因此这是不明智的.因此,第二个选项再次是使用Azure存储模拟器.我认为这是我们需要做的.

因此,假设我们有MVC应用程序(Web角色),由队列触发但访问表,blob和WCF Web服务的WCF Web服务(Web角色),队列,表,Blob和工作者角色,这看起来像是合理的方式来托管我们的内部QA(和类似)环境?除了使用远程脚本CSPack和CSRun部署到Azure模拟器的一些烦恼之外,使用构建服务器这一切听起来是否合理自动化?

azure

5
推荐指数
2
解决办法
1480
查看次数

为什么Windows Azure Diagnostics无法可靠地记录?

我们在使Windows Azure诊断程序可靠地记录时遇到问题.它似乎有点不可思议,我们不明白为什么.

这是我们的代码,有时可以工作,有时不会:

public class WorkerRole : RoleEntryPoint
{
    public override void Run()
    {
        Trace.WriteLine("Run() beginning.", LogLevel.Information.ToString());

        try
        {
            var logic = new WorkerAgent();
            logic.Go(false);
        }
        catch (Exception err)
        {
            Trace.WriteLine(err.ToString(), LogLevel.Critical.ToString());

            Run();
        }
    }

    public override bool OnStart()
    {
        // Initialize our Cloud Storage Configuration.
        AzureStorageObject.Initialize(AzureConfigurationLocation.AzureProjectConfiguration);

        // Initialize Azure Diagnostics

        try
        {
            //get the storage account using the default Diag connection string
            var cs = CloudStorageAccount.FromConfigurationSetting("Microsoft.WindowsAzure.Plugins.Diagnostics.ConnectionString");

            //get the diag manager
            var dm = cs.CreateRoleInstanceDiagnosticManager(RoleEnvironment.DeploymentId,
                                                            RoleEnvironment.CurrentRoleInstance.Role.Name,
                                                            RoleEnvironment.CurrentRoleInstance.Id);

            //get the current …
Run Code Online (Sandbox Code Playgroud)

azure azure-diagnostics

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

如何从表达式中为嵌套深度级别设置值?

我的问题与以下两个问题非常相似,但是我有一个附加要求,即这些问题不能满足。

就像那些问题一样,我有一个Expression<Func<TEntity, TProperty>>要在其中为指定属性设置值的地方。如果表达式的主体仅深一层,这些解决方案将非常有用,例如,x => x.FirstName但是如果该主体更深,它们将根本无法工作x => x.Parent.FirstName

有什么方法可以采用这种更深层的表达式并将其值设置为?我不需要极其强大的执行延迟解决方案,但是我确实需要可以在对象上执行的操作,无论是1层还是多层,它都能正常工作。我还需要支持你期望在一个数据库中最典型的类型(longint?stringDecimalDateTime?,等。虽然我不在乎像地理类型有关更复杂的事情)。

为了进行对话,我们假设我们正在处理这些对象,尽管假设我们需要深度处理N个级别,而不仅仅是1或2:

public class Parent
{
    public string FirstName { get; set; }
}

public class Child
{
    public Child()
    {
        Mom = new Parent(); // so we don't have to worry about nulls
    }

    public string FavoriteToy { get; set; }
    public Parent Mom { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

假设这是我们的单元测试: …

c# .net-4.0

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

新的C#6.0字符串插值语句不编译

我正在尝试实现此视频中的一些功能,但我对新的字符串插值语法没有太多运气(我还有其他所有工作,至少在这段代码中是这样).

我正在使用Visual Studio 2015 CTP6,我已将其配置为使用.NET 4.6并已进入Build选项以确保我指定C#6.0.我也按照这里的说明进行操作.

这是我的代码:

using System;
using static System.Math;

namespace NewCsharp6Features
{
    public class C6Point
    {
        public int X { get; }
        public int Y { get; }
        public double Distance => Sqrt(X * X + Y * Y);

        public C6Point(int x, int y) { X = x; Y = y; }

        public override string ToString()
        {
            return "(\{X}, \{Y})";
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

我收到了两个这样的编译错误:

CS1009 | 无法识别的转义序列

知道我做错了什么,在这里?

c# string-interpolation c#-6.0 visual-studio-2015

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

登录azure sql数据库

我们昨天遇到了一个问题,我们正试图弄明白.无处不在数据库上的所有内容都发生了变化,

我们知道这是一个没有where子句的更新,但我们只是一些开发人员.因此,如果我们中的任何人都这样做,我们就会知道.

这是在一天中的一个奇怪的时间,非常深夜,只允许几个IP地址进入服务器.

有没有办法在azure上获得所有交易的ips的完整日志?有没有人有类似的问题?可以突破吗?是否有任何软件保护,我们可以添加脚本来限制这个?

sql-server azure azure-sql-database

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

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