当使用iis express时,没有在远程PC上应用css

我想在开发过程中从远程PC上使用我的asp.net mvc站点。 因此,我将其配置为使用IIS Express。

首先,Windows身份validation引发了一个问题。 我的网站应该在Windows域内网中工作,所以我想使用集成的Windows身份validation。 我设法使用如何:Firefox和 IIS Express Windows身份validation中的 集成Windows身份 validation (由bees73回答)使其在Firefox上运行。 但IExplorer仍然要求打印登录名/密码,即使我在本地打开它,指定我的ip而不是localhost。

IE的问题仍然没有得到解决,但是如果我在我的凭据中打印,它确实在本地工作。

我的问题是:当我在远程PC上打开我的网站时(两者都在firefox中(无需打印登录/密码)和IE(我必须打印login’n’password))我的页面在不应用样式的情况下呈现。 看起来没有CSS可用。 但我没有任何错误。

在加载页面的源代码中,我确实有行

 

但是当我试图看到Site.css时,它说有一些内部服务器错误。

我想我没有正确配置IIS Express,这就是问题所在。 如果没关系,集成的Windows身份validation必须工作,而不是在IE上询问登录和密码,至少我猜。

所以,我的配置:

  1. 该项目本身 – 以IIS Express,Windows身份validation – 开启,匿名关闭。
  2. netsh http add urlacl url = http:// myip:myport user = domainname \ mylogin
  3. netsh http add iplisten ipaddres = myip
  4. applicationhost.config中

绑定:

          

validation:

  
...

   ...        

  

           

该问题与ISS Express中的netsh和绑定配置有关。 起初我通过我的ip设置它,这导致混乱的错误。

在网上搜索任何内容时,我遇到了设置IIS Express 。 在那里都一样,但建议在netsh和iis applicationhost.config中使用pc名称。

所以,我补充道

 netsh http add urlacl url=http://MyPCName:MyPort/ user=everyone 

  

和奇迹! 有效。

至于IE,我不得不关闭 “使用Windows授权”标志以使其工作。 非常感谢Internet Explorer – 启用集成Windows身份validation 。 但是,如果在url中使用了ip,IE仍然会要求登录和密码。 如果使用pc名称,它将无声地工作。

Firefox要么输入登录名和密码(如果有人输入有效凭证就可以使用),或者你应该应用如何:Firefox和集成Windows身份validation (在我的问题中提到)然后它使用ip和pc名称静默工作。

希望这有助于其他人。

编辑

一句话:我必须使用administrtor权限启动VS2010。 如果没有,我仍然会根据错误的模拟错误得到HTTP 500错误。 因此,看起来像VS2010在Windows 7下没有管理员权限启动的IIS Express将无法正常工作。

据我所知,线索是为IIS_IUSRS提供适当的权限。 但在此之前,使用管理员权限启动VS 2010会更容易。

这可能是由于解析Css所在的根路径时出错。 您可以尝试使用Url帮助程序来解决此问题。

  

在Asp.net开发服务器(在visual studio环境中) 将正常工作..但在IIS中托管时,root使用相对路径无法解析路径。 在Url助手的帮助下,我们可以解决此问题。 使用Firebug,您可以看到资源的加载错误(如果有的话)。

编辑:

部分下的web.config中修改如下。

     

为用户名和密码提供正确的值。 您可以尝试将IIS用户组( IUSRIIS_IUSR )的文件夹权限授予托管应用程序的文件夹。(右键单击托管文件夹 – > Security选项卡下的Properties ,您可以找到用户组并可以授予权限)

尝试在您的Content文件夹中放置web.config文件。 并将以下代码放入其中。