小编Dan*_*man的帖子

500内部服务器错误请求.Net MVC 3站点中的任何资源文件(css,js,images)

更新:我尝试过的事情 - 请参阅下面的答案以获得解决方案

  1. 我安装了一个新的MVC3站点,它正确地提供了资源.这消除了machine.config设置作为一个问题.
  2. 然后我在web.config中逐段查看web.config中是否有任何特定的更改导致了问题.当配置相同时,新鲜的网站仍然有效,旧网站仍然破碎.
  3. 我卸载了IIS,重新安装了IIS,然后再次安装了应用程序,试图清除任何挥之不去的设置.还是蠢蠢欲动.
  4. 然后我使用publish(而不是msi deploy)到新目录.我使用iis选项在完全相同的代码的新目录上"创建应用程序".事情很完美.
  5. 我假设了文件权限,因此我删除了违规目录,并将新工作版本重命名为旧目录名称.网站仍然被塞了.这使我假设一些不在machine.config或web.config中的iis设置是责备.
  6. 我使用IIS 6 Metabase资源管理器(是的,我在IIS 8网站上使用它)并且看到了很多不在工作站点中的条目.在逐个删除后,我发现在我们的MSI安装过程中添加的"scriptMaps"条目导致了问题.添加此选项是为了在安装期间自动添加通配符映射.它适用于IIS6,但显然不适用于IIS8.

我们有一个看起来像一个应用程序的webforms和MVC3应用程序.这部署在许多环境(2003,2008,Win 7)中并且正常运行.我刚刚在新的Windows Server 2012计算机上设置了这些应用程序,除了获取MVC站点的资源文件外,一切正常.浏览器获得了

500 Internal Server Error
Server Application Unavailable

The web application you are attempting to access on this web server is currently unavailable.  Please hit the "Refresh" button in your web browser to retry your request.

Administrator Note: An error message detailing the cause of this specific request failure can be found in the application event log of the web server. Please review this …
Run Code Online (Sandbox Code Playgroud)

web-config asp.net-mvc-3 windows-server-2012

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

是否可以 Cascade.All() 除了删除?

我分别获取一个对象列表(而不是来自 NHibernate)并将父对象 IEnumerable 设置为等于这个返回的对象。最初,我们只需要读取对象。然后我们只需要更新父级上的特定字段。最近,我们需要更新孩子的字段。到目前为止,SaveOrUpdate() 一切正常。现在,即使孩子的集合附加到分离的父对象(不使用 NHibernate),我也需要更新孩子。以下代码导致更新父级,但不更新子级。如果我都做了,那么如果父级没有集合,子级将被删除。我不想这样做,因为我担心无法解释这种行为的遗留用途。

期望的行为:
1. 级联对集合的任何更改(无论父项中是否由 NHibernate 检索)。2. 即使父级没有子级集合,也不要删除对象。

这可能吗?

这是我们的 NHibernate 保存方法:

[Transaction]
public int? Save(DocumentFieldDTO entity, bool autoFlush)
{
    var persisted = CurrentSession.Merge(entity);

    entity.DocumentFieldID = persisted.DocumentFieldID;
    if (autoFlush) { CurrentSession.Flush(); }
    return entity.DocumentFieldID;
}
Run Code Online (Sandbox Code Playgroud)

DocumentFieldDTOMap 看起来像这样:

public class DocumentFieldDTOMap : EntityMapBase
{

    public DocumentFieldDTOMap()
    {    
        Table("DocumentField");

        Id(m => m.DocumentFieldID).GeneratedBy.Increment().UnsavedValue(null);

        Map(x => x.Name);

        Map(x => x.DocumentSectionID).Not.Update();
        // .... Lots of other fields ....//

        HasMany(x => x.DocumentFieldOrgs)
        .Cascade.SaveUpdate()
        .LazyLoad()
        .KeyColumn("DocumentFieldID");
        }
    }
Run Code Online (Sandbox Code Playgroud)

}

如果我更改Cascade.SaveUpdate()Cascade.All() …

c# nhibernate nhibernate-mapping

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

添加条件查询会使时间增加超过2400%

更新:我会尽快得到查询计划.

我们的查询效果不佳,需要4分钟才能完成特定组织.在通常的重新编译之后,存储的proc和更新统计信息没有帮助,我们将if Exists(...)重写为select count(*)...以及4分钟到70毫秒的存储过程.条件使得70毫秒查询需要4分钟的问题是什么?查看示例

这些都需要4分钟以上:

if (
  SELECT COUNT(*)       
    FROM ObservationOrganism  omo
    JOIN Observation          om  ON  om.ObservationID  = omo.ObservationMicID
    JOIN Organism             o   ON  o.OrganismID      = omo.OrganismID
    JOIN ObservationMicDrug   omd ON  omd.ObservationOrganismID = omo.ObservationOrganismID
    JOIN SIRN                 srn ON  srn.SIRNID        = omd.SIRNID
    JOIN OrganismDrug         od  ON  od.OrganismDrugID = omd.OrganismDrugID
  WHERE
    om.StatusCode IN ('F', 'C')
    AND o.OrganismGroupID <> -1
    AND od.OrganismDrugGroupID <> -1
    AND (om.LabType <> 'screen' OR om.LabType IS NULL)) > 0

print 'records';       
Run Code Online (Sandbox Code Playgroud)

-

IF (EXISTS(
  SELECT *       
    FROM ObservationOrganism  omo …
Run Code Online (Sandbox Code Playgroud)

sql-server

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