问题标签 [iis-8.5]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
asp.net - “已添加具有相同密钥的项目。” 虽然首先检查密钥
好吧,我对从生产环境收到的错误完全感到困惑。
mscorlib:已添加具有相同密钥的项目。
使用堆栈跟踪
在 System.Collections.Generic.Dictionary`2.Insert(TKey key, TValue value, Boolean add)
在 Domain.MyClass.CompleteReasons(字典`2 个原因)
在 Domain.MyClass.ctor(...)
at ...(调用方法树)
在 MySite.MyPage.Page_Load(对象发送者,EventArgs e)
在 System.Web.UI.Control.LoadRecursive()
在 System.Web.UI.Page.ProcessRequestMain(布尔 includeStagesBeforeAsyncPoint,布尔 includeStagesAfterAsyncPoint)
没有什么不寻常的,但如果你看看那个CompleteReasons
方法:
您会看到添加字典项的唯一位置是在密钥检查中。
只在生产中看到过这种情况,并且在生产系统和我自己的调试环境中都无法触发问题。
我们的生产服务器是 Windows Server 2012 R2,运行 IIS 8.5
任何人对我如何能够防止这种情况发生或在哪里可以找到有关原因的更多信息有任何想法,因为这就是我所拥有的全部信息。
windows-server-2012 - 如何在 Server 2012 的 IIS 8.5 中启用“URL 重写”模块?
我有 windows server 2012 并且我已经安装了 IIS 8.5,但我看不到 URL 重写模块。如何启用或安装?
windows - ASP 网页中的用户名
我试过在这里搜索如何在 ASP 中获取用户名,但它总是返回 500 错误代码:
它在 IIS 8.5 windows server 2012 上运行
我是否需要导入一个类才能访问用户名?
asp.net-mvc-4 - 扩展 '.cshtml' 不适用于子目录
cshtml 页面不仅仅在子域的子目录中工作。我们有一个主域,其中 cshtml 在“X”子目录文件夹中工作,但我们有一个子域,其中根目录是主域的子目录,而 cshtml 在那里不起作用。在 IIS 上,主域和子域都有自己的应用程序池。主域的“X”子目录已转换为应用程序,并且 cshtml 页面正在运行。我们尝试完成相同的过程,但出现以下错误:
不提供此类页面。说明:您请求的页面类型未提供服务,因为它已被明确禁止。扩展名“.cshtml”可能不正确。请查看下面的 URL 并确保其拼写正确。
请求的 URL:/test/test.cshtml
这是一个简单的测试文件,它适用于主域子目录,但不适用于子域子目录。我认为阻止的是父域,“它已被明确禁止。”
在处理程序映射上,扩展是活动的。(Windows Server 2012 R2、IIS 8.5)
服务器安装了 .NET Framework 4。此外,该应用程序在配置为使用该版本的 .NET Framework 的应用程序池中运行。
/home/main_domain/X_subdirectory(适用于cshtml)
/home/main_domain/sub_domain/subdirectory(不工作cshtml)
你有什么想法 ?
以下代码给了我一个内部错误:
将此添加到我的 web.config 也不起作用。
它工作的子目录被配置为 Web 应用程序:
在 IIS 管理器上(Win + R 并复制 %systemroot%\system32\inetsrv\iis.msc)
在左侧树中的目录 (\Sites\Main_domain\sub_directory
列表项右键单击它,我选择“转换为应用程序”
asp.net - 无法在 IIS 中打开动态压缩
我已经阅读了几十个网站和 SO 问题,据我所知,它应该可以工作。我在 Server 2012 (IIS 8.5) 上有一个站点,无法获得动态压缩以适用于 aspx 页面。(我也无法让它在 Server 2008R2 上的 IIS 7.5 中工作,但由于两者相似,我假设如果我让一个工作,另一个也会工作。)
请求肯定是用 Accept-Encoding 调用的:gzip、deflate。
到目前为止,我有:
- 安装动态压缩。我可以看到在请求跟踪中调用的模块。
- 在 Web 服务器级别,我启用了静态和动态压缩。
- 在 Web 服务器级别,在配置编辑器的 httpCompression 下,我添加了我想要的 mime 类型。我将动态压缩级别设置为 4。这来自http://weblogs.asp.net/owscott/iis-7-compression-good-bad-how-much。
applicationHost.config 的压缩部分如下:
页面的实际 MIME 类型是 text/html;charset=iso-8859-1,但我希望 text/* 能够覆盖它。我尝试添加 mime 类型本身,它没有任何区别。
跟踪日志显示 DynamicCompressionModule 的开始和结束,但它没有进行任何压缩。我尝试快速重复页面请求,以防 IIS 7.5 上的 GZip 压缩中提到的 10 秒内 2 秒限制不起作用,但这没有区别。我在 applicationHost.config 的 serverRuntime 部分中将频繁命中阈值设置为 1。
那么...接下来我可以尝试什么?我按照以下设置了故障跟踪: http ://www.iis.net/learn/troubleshoot/using-failed-request-tracing/troubleshooting-failed-requests-using-tracing-in-iis-85
我在 2008R2 服务器上尝试了所有这些工作的 IIS 7.5 等价物,结果同样令人沮丧。
iis - 为什么在 IIS 管理器中看不到在 Visual Studio 2013 中为本地 IIS 创建的虚拟目录?
我正在尝试调试我的本地 IIS 神秘地决定不识别我的虚拟目录的问题。
在我的 MVC 4 项目中,我的 Web 服务器设置为“本地 IIS”,我的项目 URL 设置为http://localhost/MySite
. 当我点击Create Virtual Directory
按钮时,我收到消息“虚拟目录已成功创建”。
但是当我进入 IIS 管理器并单击时,Default Web Site | MySite | View virtual directories
没有列出任何虚拟目录。对于虚拟目录起作用的网站也是如此。
为什么我看不到Visual Studio 2013
为本地 IIS创建的虚拟目录IIS Manager
?
在哪里可以看到 VS 创建的虚拟目录?
iis-8.5 - SQL Server 不允许我创建应用程序池标识登录
我知道这种问题之前已经被提出过很多次,我已经阅读了十几篇关于试图让它发挥作用的文章,但一无所获。希望这个问题会导致其他文章中没有明确指出的结果。
我有一个运行 IIS 8.5 的新 Windows 2012 R2 服务器。我还安装了 SQL Server 2014 Express(默认实例)并创建了一个名为ActivbaseLive
.
我在名为“ activbase
”的应用程序池下创建了一个经典的 ASP 应用程序。在 SSMS 中,我转到 Security (server level) > Logins > New Login 并输入“ IIS_AppPool\activbase
”的登录名(Windows 身份验证;其他一切默认),SSMS 直接返回“
登录 'IIS_APPPOOL\activbase' 的创建失败。(Microsoft.SqlServer.Smo)"
并在附加信息下:
“未找到 Windows NT 用户或组 'IIS_APPPOOL\activbase'。再次检查名称。(Microsoft SQL Server,错误:15401)”
其他要点:
- 我检查了应用程序池名称是否有任何愚蠢的拼写错误,但它检查出来了。
- ASP 是一项启用的功能,一个简单的 ASP 测试程序显示 Classic ASP 工作正常
- 最初我调用了我的应用程序池'
activbase.net
'并且我能够在 SQL Server 和数据库级别创建登录,但是在得到“无法打开登录请求的数据库”ActivbaseLive“之后” - 我还尝试在 New Login... > User Mappings 下添加我试图定位的数据库(
ActivbaseLive
),但这没有帮助。 - 我知道像应用程序池标识这样的虚拟帐户不会出现在搜索框中。
我曾尝试通过 T-SQL 执行此操作,但出现相同的错误:
/li>
有什么想法或其他我可以提供的吗?谢谢。
iis - 如何用 IIS 重写重写基本路径(即“/”)?
如何/
使用 IIS 重写重写站点的基本路径(即)?
到目前为止,我已经尝试过:
目前它没有重写该基本路径,而是index.html
直接返回。
iis-8.5 - IIS AppPool 到 SQL Server 权限(添加 NT AUTHORITY\IUSR)
我有一个运行 Windows Server 2012 R2、IIS 8.5(包括 ClassicASP 功能)和 SQL Server 2014 Express 的新服务器版本。我想使用应用程序池标识连接到数据库。数据库设置为“Windows 身份验证模式”。
我的应用程序池标识称为activbase.net
. 我在 SQL Server 中设置了一个安全登录名,IIS AppPool\activbase.net
用户将其映射到我的数据库db_datareader
并db_datawriter
访问。
但是,当我尝试从网站访问数据库时,我得到:
无法打开登录请求的数据库“ActivbaseLive”。登录失败。
我认为这足以让连接正常工作。应用程序日志(事件查看器)显示:
用户“NT AUTHORITY\IUSR”登录失败。原因:无法打开明确指定的数据库“ActivbaseLive”。[客户: ]
所以我NT AUTHORITY\IUSR
同样添加了 SQL Server>Security>Logins and Databases>[ActivbaseLive]>Security>Users,这解决了这个问题。
我的问题如下:
NT AUTHORITY\IUSR
除了IIS AppPool\activbase.net
登录名/用户之外,我还需要向我的 SQL Server 实例和数据库添加登录名/用户吗?- 这样做有安全问题吗?(注意:这将是一个生产环境)
谢谢,克里斯
asp.net - WCF 服务在 VS 调试模式下工作,而不是在发布到 IIS 时
我有一个包含 WCF 服务(启用 AJAX)的站点。在 Visual Studio 中以调试模式启动时一切正常。当我将站点发布到 IIS 服务器时,WCF 服务似乎不可用。尝试加载 Web 服务生成的 javascript 文件时出现 404 错误。
我的 Web 服务文件 SqlAjax.cs 代码的开头:
我的 web.config:
在我的 default.aspx 中,我包括:
使用 Visual Studio 2013,当我在调试模式下运行站点时,页面源包括:
我可以浏览该文件,它包含我添加到服务中的功能。
如果我在 IIS 8.5 服务器上发布站点,则页面源包括:
但是,这会返回 404 错误。