小编shu*_*iar的帖子

Java记录与抽象类

我正在开发一个项目,目前正在使用log4j实现一些日志记录,我很好奇我应该如何实现日志.我正在讨论的两个实现如下:

第一选择

对于该类和所有子类,使用来自超类的单个日志:

public abstract class AbstractFoo {
    protected static Log LOG = LogFactory.getLog(AbstractFoo.class);

    ...
}

public class Foo extends AbstractFoo {
    public void someMethod() {
        LOG.info("Using abstract log");
    }
}
Run Code Online (Sandbox Code Playgroud)

第二选择

为每个类,super和subs使用单独的日志:

public abstract class AbstractFoo {
    private static Log LOG = LogFactory.getLog(AbstractFoo.class);

    ...
}

public class Foo extends AbstractFoo {
    private static Log LOG = LogFactory.getLog(Foo.class);        

    public void someMethod() {
        LOG.info("Using own log");
    }
}
Run Code Online (Sandbox Code Playgroud)

什么更有意义,为什么?

java inheritance logging abstract-class

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

MVC3何时使用区域?

我正在开发一个敏捷的MVC3项目,它开始变得相当大,特别是我的管理部分,用户可以设置很多配置等.这是我的第一个MVC3项目,所以我很好奇它什么时候使用区域有意义吗?

在决定将其分解为某个区域并为各个管理操作创建控制器之前,像管理这样的特定部分的控制器应该有多大?

此外,在使用区域时,我是否应该重构使用区域的所有内容,或仅针对需要区域的区域?

asp.net asp.net-mvc-areas asp.net-mvc-3

22
推荐指数
2
解决办法
7460
查看次数

.NET MVC3首选模型初始化

我最近一直在MVC工作,我很好奇初始化我的视图模型的最佳方法是什么.我应该直接在控制器中映射它,还是应该在视图模型的构造函数中初始化属性.此外,当有列表时,这是更好的做法,因为当出现验证错误时,您不必重新填充它们.

例如,如果我有以下型号:

public FooBarViewModel
{
    public int FooBarId { get; set; }
    public string SomeInitialProperty1 { get; set; }
    public string SomeInitialProperty2 { get; set; }
    public string SomeInitialProperty3 { get; set; }
    public string SomeInitialProperty4 { get; set; }
    public int FooId { get; set; }
    public int BarId { get; set; }
    public IEnumerable<Foo> Foos { get; set; }
    public IEnumerable<Bar> Bars { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

然后是控制器:

public MyController : Controller
{
    [HttpGet]
    public ActionResult FooBar(int foobarId) …
Run Code Online (Sandbox Code Playgroud)

.net c# asp.net-mvc asp.net-mvc-3

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

MVC3和JSON.stringify()ModelBinding返回null模型

我试图让模型绑定MVC3和JSON工作,但我没有运气...无论我做什么,我似乎null在服务器上得到一个模型.

方法签名:

public ActionResult FilterReports(DealSummaryComparisonViewModel model)
Run Code Online (Sandbox Code Playgroud)

Javascript 更新:

<script type="text/javascript" language="javascript">

    $(document).ready(function () {
        $('#filter-reports').click(filterReports);
    });

    function filterReports() {
        var filters = {
            SelectedRtoId: $('#SelectedRtoId').val(),
            SelectedPricingPointId: $('#SelectedPricingPointId').val(),
            SelectedLoadTypeId: $('#SelectedLoadTypeId').val(),
            SelectedBlockId: $('#SelectedBlockId').val(),
            SelectedRevisionStatusId: $('#SelectedRevisionStatusId').val()
        }
        var dealSummaries = { SelectedItemIds: $('#SelectedItemIds').val() }
        var model = { ReportingFilters: filters, DealSummaries: dealSummaries }

        $('#selected-items select option').attr("selected", "selected");
        $.ajax({
            url: '@Url.Action("FilterReports")',
            data: model,
            contentType: 'application/json',
            dataType: 'json',
            success: function (data) {
                alert(data);
            }
        }); 
    }
</script>
Run Code Online (Sandbox Code Playgroud)

楷模:

public class DealSummaryComparisonViewModel
{ …
Run Code Online (Sandbox Code Playgroud)

c# asp.net jquery json asp.net-mvc-3

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

LINQ to SQL选择多列不同并返回整个实体

我正在使用第三方数据库,需要为我正在研究的特定市场选择一组不同的数据.每个市场的数据都是相同的,因此将其全部用完是多余的,我不想硬编码任何逻辑,因为我们正在与供应商合作解决问题,但我们需要修复与供应商一起修复以及数据库当前的方式,因为它可能需要一段时间才能实现.

我不想按任何方式进行分组,因为我想在最低级别获取数据,但我不想要任何冗余数据.我当前的查询看起来与此类似...

determinantData = (from x in dbContext.Datas
                   where x.Bar.Name.Equals(barName) &&
                         x.Something.Name.Equals(someName) &&
                         FooIds.Contains(x.Foo.Id) &&
                         x.Date >= startDate && 
                         x.Date <= endDate
                   select x).Distinct();
Run Code Online (Sandbox Code Playgroud)

这不符合我的预期.我想通过三个属性来选择不同的记录,也就是说Foo,BarSomething而返回整个对象.我怎么能用LINQ做到这一点?

.net c# linq linq-to-entities linq-to-sql

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

MVC3可选模型属性

我有一个下拉列表,我希望它是可选的,但是,ModelState.IsValid检查是试图验证属性.有没有办法告诉它该属性是可选的?

这是我的代码:

<h2>New Version</h2>

@using (Html.BeginForm()) {
    <div>Version Number: @Html.TextBoxFor(m => m.Number)</div>
    <div>Enabled: @Html.CheckBoxFor(m => m.IsActive)</div>

    <div></div>

    <div>
        Template (optional): 
        @Html.DropDownListFor(m => m.TemplateVersionId, new SelectList(Model.CurrentVersions, "VersionId", "Number"),
            "-- Select Template --")
    </div>

    <input type="submit" value="Save" />
    @Html.ActionLink("Cancel", "Index");
}
Run Code Online (Sandbox Code Playgroud)

和我的ViewModel:

public class AddVersionViewModel
{
    public double Number { get; set; }
    public bool IsActive { get; set; }

    public int TemplateVersionId { get; set; }
    public ICollection<Version> CurrentVersions { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

我希望它TemplateVersionId是可选的.

c# asp.net asp.net-mvc asp.net-mvc-3

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

jQuery向下移动列表框中的多个项目

我有一个列表框,它有两个按钮来控制所包含项目的优先级.除了选择多个项目时向下移动逻辑外,一切正常.

如果选择了两个项目,则不会发生任何事情,如果选择了三个或更多项目,则只有底部项目移动..是否有一种使用jQuery处理此问题的简单方法?

目前的实施:

<div id="selected">
    <div><strong>Selected</strong></div>
    <div id="selected-items">
        <input type="select" multiple="multiple" id="selected-items-select">
            <option/>
        </input> 
    </div>
</div>

<div id="priority" style="display: none;">
    <div><input type="button" id="move-up" value="^" /></div>
    <div><input type="button" id="move-down" value="v" /></div>
</div>

<script type="text/javascript">

    $(document).ready(function () {
        $('#move-up').click(moveUp);
        $('#move-down').click(moveDown);
    });

    function moveUp() {
        $('#selected-items select :selected').each(function (i, selected) {
            $(this).insertBefore($(this).prev());
        });
        $('#selected-items select').focus().blur();
    }

    function moveDown() {
        $('#selected-items select :selected').each(function (i, selected) {
            $(this).insertAfter($(this).next());
        });
        $('#selected-items select').focus().blur();
    }
</script>
Run Code Online (Sandbox Code Playgroud)

另外,请注意该$('#selected-items select').focus().blur();行..我有它,因为有时优先级不会更新,直到列表框获得焦点.还有更清洁的方法吗?

jquery

3
推荐指数
1
解决办法
5544
查看次数

Excel 自动化 Windows 服务

我有一个运行 Windows 服务Excel Interop以自动执行各种宏。但是,当我尝试运行使用 Windows 身份验证访问数据库的宏时,我遇到了一个奇怪的问题......

如果宏通过 Windows 服务运行,则打开工作簿并启动宏执行但应用程序挂起(大概在数据访问部分)。

但是,如果宏通过 Visual Studio 调试器运行,使用与服务相同的实现(它们调用相同的类库),它会执行,保存工作簿,并按预期关闭。

我确定这与模拟有关,但我似乎无法弄清楚。我在我的用户下运行了 Windows 服务,我还修改了组件服务中的默认 COM 属性,Impersonate而不是默认的Identify.

任何帮助将不胜感激,因为最好作为 Windows 服务而不是控制台应用程序运行。

c# excel windows-services office-interop excel-interop

3
推荐指数
1
解决办法
3067
查看次数

jQuery选中检查复选框的每一行中的所有文本框

我有一个包含以下结构的表的视图:

<table id="mappings">
    <thead>
        <tr>
            <th width="40%"><input type="checkbox" id="cb-master" /> Structure</th>
            <th width="15%">Excel Column</th>
            <th width="15%">Excel Row Start</th>
            <th width="15%">Excel Row End</th>
        </tr>
    </thead>
    <tbody>
        <tr>
            <td><input type="checkbox" id="cb-1" value="1" /> Item 1</td>
            <td><input type="text" id="col-1" value="A" /></td>
            <td><input type="text" id="rstart-1" value="5" /></td>
            <td><input type="text" id="rend-1" value="20" /></td>
        </tr>
        <tr>
            <td><input type="checkbox" id="cb-2" value="2" /> Item 2</td>
            <td><input type="text" id="col-2" value="B" /></td>
            <td><input type="text" id="rstart-2" value="5" /></td>
            <td><input type="text" id="rend-2" value="20" /></td>
        </tr>
          .
          .
          .
        <tr>
            <td><input type="checkbox" id="cb-n" …
Run Code Online (Sandbox Code Playgroud)

javascript jquery asp.net-mvc-3

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

WCF REST 4.0 PUT/POST/DELETE无法正常工作(400 Bad Request)

我一直在努力在.NET 4.0中设置WCF REST服务.我有GET请求工作,但任何涉及POST数据到服务器的请求都失败了HTTP 400 Bad Request.

这是我的简单服务:

[ServiceContract]
[AspNetCompatibilityRequirements(RequirementsMode = AspNetCompatibilityRequirementsMode.Allowed)]
[ServiceBehavior(InstanceContextMode = InstanceContextMode.PerCall)]
public class Service1
{
    [WebGet(UriTemplate = "")]
    public string HelloWorld()
    {
        return "hello world";
    }

    [WebInvoke(UriTemplate = "", Method = "POST")]
    public string HelloWorldPost(string name)
    {
        return "hello " + name;
    }
}
Run Code Online (Sandbox Code Playgroud)

我的Web.config:

<?xml version="1.0"?>
<configuration>

  <system.web>
    <compilation debug="true" targetFramework="4.0" />
  </system.web>

  <system.webServer>
    <modules runAllManagedModulesForAllRequests="true">
      <add name="UrlRoutingModule" type="System.Web.Routing.UrlRoutingModule, System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
    </modules>
  </system.webServer>

  <system.serviceModel>
    <serviceHostingEnvironment aspNetCompatibilityEnabled="true"/>
    <protocolMapping>
      <add scheme="http" binding="webHttpBinding" /> …
Run Code Online (Sandbox Code Playgroud)

asp.net http http-post http-put

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