小编Wal*_*orn的帖子

ASP.NET MVC应用程序仅在Firefox中查看时才提供内部服务器错误

(我是.Net和微软世界的新手,来自Java和Tomcat背景,所以请记住这一点.)

我正在使用Visual Studio 2013,C#,.Net 4.5,MVC 5和EF 6开发我的第一个.Net应用程序.这是一个相当简单的基于Web的应用程序,使用Windows身份验证和Active Directory组授权公平地执行SQL Server数据库中表的基本CRUD操作.

我还没有部署应用程序.我还在开发它并在我的PC上运行(运行Windows 7).当我按下Ctrl-F5在Internet Explorer或Google Chrome中测试应用程序时,一切正常.

但是,如果我告诉Visual Studio在Firefox中访问它,它会显示没有任何CSS或JavaScript 的页面.我可以单击应用程序中的链接并导航到各个页面,这些页面都可以正常工作.它们只显示没有任何CSS或工作JavaScript.当我手动尝试查看其中一个CSS或JavaScript文件时,我收到内部服务器错误(HTTP错误500).检查日志文件会显示页面尝试加载的每个CSS和JavaScript文件的状态代码500.

我很神秘,因为它可以从Internet Explorer和Chrome中正常工作.如何使用不同的Web浏览器导致此内部服务器错误?

我发布了一些代码,但此时我不知道有什么用处.(我可以显示IIS Express正在记录哪些附加信息,如果有的话,但我不知道在哪里可以找到它,除了显示状态代码500的行.)

在开发的早期阶段,我意识到当我希望它被命名为"Version"(大写)时,我已经命名了一些数据库字段"version".我在该字符串的整个解决方案中进行了全局查找/替换,而不是对该字段进行重命名.可能有一些重要的事情被这个过程所困扰,但我已经对"版本"(以及"版本")进行了全局查找,并且没有找到任何值得注意的内容.

如果我绝对必须,我可能只是从头开始重新创建项目,并希望我不会将同样的问题(或新问题)复制/粘贴到新项目中,但我希望有人能来有一些比较容易尝试的东西.

UPDATE

这是Views/Shared/_Layout.cshtml的开头:

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>@ViewBag.Title - Experiment 626</title>
    @Styles.Render("~/Content/css")
    @Scripts.Render("~/bundles/modernizr")
</head>
Run Code Online (Sandbox Code Playgroud)

这是App_Start\BundleConfig.cs:

using System.Web;
using System.Web.Optimization;

namespace Experiment626
{
    public class BundleConfig
    {
        // For more information on bundling, visit http://go.microsoft.com/fwlink/?LinkId=301862
        public static void RegisterBundles(BundleCollection bundles)
        {
            bundles.Add(new ScriptBundle("~/bundles/jquery").Include(
                        "~/Scripts/jquery-{version}.js"));

            bundles.Add(new ScriptBundle("~/bundles/jqueryval").Include(
                        "~/Scripts/jquery.validate.min.js",
                        "~/Scripts/jquery.validate.unobtrusive.min.js"));

            // Use the …
Run Code Online (Sandbox Code Playgroud)

.net iis asp.net-mvc firefox static-files

16
推荐指数
1
解决办法
8562
查看次数

使用Active Directory组进行Windows身份验证

我有一个小项目,使用Visual Studio 2013,.NET 4.5,MVC 5和EF 6构建.我使用Windows身份验证创建它,但现在我需要检查Active Directory组中的成员身份以允许或拒绝访问.

我已经走了许多非常深的兔子洞,试图找出如何做到这一点.起初我假设我需要更改项目以使用"内部部署"身份验证.但是,我发现:

  1. 在VS 2013中显然没有办法改变项目使用的身份验证类型(除了手动编辑某些文件).
  2. 目前还没有任何文档说明如何设置"内部部署"身份验证.(真的吗?怎么可能?)
  3. 在任何情况下,我需要的不是"内部部署"身份验证,因为这仅适用于Windows身份联合服务(或类似的东西).我应该使用的只是具有ASP.Net角色的Windows身份验证,当我登录时,Windows显然从Active Directory组获取.

因此,假设#3是真的,我尝试阅读关于此的大量帖子,但它们似乎分为两个基本组:

  1. 直截了当,简单的方法,我无法开始工作,可能是因为它假设了一些我没有的知识.
  2. 复杂的,自定义编码的方法,我怀疑它是通过代码完成的,可以在无代码方法中完成.

假设#1是要走的路,这是我最近的尝试.

在我的控制器中,我有:

[Authorize(Roles=@"SomeDomain\\SomeGroup")]
public class SomeController : Controller
Run Code Online (Sandbox Code Playgroud)

在我的Web.config文件中,我有:

  <system.web>
    <authentication mode="Windows" />
    <authorization>
      <deny users="?" />
    </authorization>
    <roleManager enabled="true" defaultProvider="AspNetWindowsTokenRoleProvider">
      <providers>
        <clear/>
        <add name="AspNetWindowsTokenRoleProvider"
             type="System.Web.Security.WindowsTokenRoleProvider"
             applicationName="/" />
      </providers>
    </roleManager>
  </system.web>
  <system.serviceModel>
    <behaviors>
      <serviceBehaviors>
        <behavior name="BehaviorConfiguration">
          <serviceAuthorization
               principalPermissionMode="UseAspNetRoles"
               roleProviderName="AspNetWindowsTokenRoleProvider" />
          <serviceMetadata />
        </behavior>
      </serviceBehaviors>
    </behaviors>
  </system.serviceModel>
Run Code Online (Sandbox Code Playgroud)

当我尝试访问该页面时,我被提示登录.输入我的登录ID和密码后,我继续收到登录提示.我不被允许进入该页面.

我在任何地方都没有告诉我的应用程序Active Directory服务器的位置,但我得到的印象是Windows已经知道(因为,当我登录到Windows时,它访问Active Directory服务器来验证我).

我错过了什么吗?或者我错误地认为可以在不编写自定义代码的情况下完成此操作?

警告:我对来自Java世界的.NET,MVC等相当新,所以请使用小词.:-)

c# asp.net authentication asp.net-mvc asp.net-mvc-5

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

如果任何单元格包含指定的文本,则条件格式化整行

我正在尝试使用条件格式来突出显示该行的任何单元格中包含特定值的所有行.

例如,如果这是电子表格:

     A            B            C             D           E
1    Town         Baseball     Basketball    Football    Soccer
2    Barksdale    Cardinals    Lions         Tigers      Lightning
3    Clinton      Bluejays     Bears         Cardinals   Tornadoes
4    Denton       Giants       Tigers        Blues       Hornets
Run Code Online (Sandbox Code Playgroud)

我想突出显示行中任何位置包含"蓝色"的每一行.在这种情况下,它应该突出"克林顿"行,因为它有"蓝鸟"和"丹顿"排,因为它有"蓝调".

我正在尝试这个公式:

=SEARCH("Blue",A1)
Run Code Online (Sandbox Code Playgroud)

我正在申请:

=$1:$1048576
Run Code Online (Sandbox Code Playgroud)

不幸的是,它突出显示包含"蓝色"的特定单元格,但不是整行.

我已经看到有关根据一个单元格的值格式化整行的帖子,我看过有关根据行中其他单元格的值格式化一个单元格的帖子,但我似乎无法弄清楚如何结合那些在我的情况下工作.

有任何想法吗?

excel

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

如何将错误标记为不可重现?

使用Visual Studio Online,我们应该如何标记不可重现的错误?显然,我不想将它们标记为"完成".将它们标记为"已移除"感觉很奇怪,但也许这是处理它们的正确方法.有什么建议?

tfs visual-studio azure-devops

0
推荐指数
1
解决办法
181
查看次数