Tag: iis

IIS中的请求是否会在单个线程上运行?

我们有一个在IIS中运行的系统。 系统应始终使用相同的“文化”运行,但我们不能依赖正确设置的服务器设置。 一种方法是在每次进行ToString时指定文化。 但是,我们想知道,是否有可能在方法开始时在一个线程上设置文化并依赖该方法中的所有代码在同一个线程上运行?

如何以编程方式使用C#/ VB.Net以MB为单位测量网站带宽(上传+下载)?

希望大家都在这里好。 我正在C#/ VB.Net中编写一个Windows服务 ,旨在测量 localhost上所有WebSite的带宽消耗 ,并将其统计信息存储在本地/远程数据库上以上载,下载等。 目标平台仅包括Windows Server 2003,2003 R2,2008和2008 R2。 我在这件事上搜了一下,发现了以下内容: 使用Windows 2003中的SNMP mgmtapi.dll 使用自定义网络驱动程序收集统计信息。 请指导最合适,最安全有效的方法/技术或一组此类技术,这些技术可用于衡量每个不同网站的带宽消耗。 还请分享这方面的任何代码 。 问候 史蒂夫

是否可以在web.config中配置客户端证书设置

我正在使用SSL应用程序,并希望控制哪些文件夹忽略,要求或接受客户端认证。 最终目标是让webApp的子文件夹忽略客户端认证。 我不想通过IIS执行此操作,因为它必须在整个Web场中进行复制。 有任何想法吗?

IIS和Chrome:无法加载资源:net :: ERR_INCOMPLETE_CHUNKED_ENCODING

我最近遇到了Chrome问题,我认为值得与您分享。 我使用HttpHandler处理自编写的API,主要应该返回json数据。 但是当发生错误时我想显示一个html文件。 这在IE和FF中效果很好,但在Chrome中却没有。 查看开发人员工具显示此错误:net :: ERR_INCOMPLETE_CHUNKED_ENCODING 谷歌非常关注这个问题。 我所知道的是,经过一段时间后神奇地消失了。 我发现它存在于这行代码中: result.StoreResult(context); context.Response.Flush(); context.Response.Close(); //<– this causes the error 删除最后一行后效果很好。 我不知道为什么只有Chrome有这个问题,但似乎我在Chrome读完之前关闭了响应流。 我希望它可以帮助那些遇到相同或类似问题的人。 现在我的问题是:关闭/刷新响应流的最佳实践是什么? 有规则吗?

ProtocolException未处理/(405)WCF不允许的方法; 绑定和端点看起来正确

我正在学习如何使用WCF,我正在尝试从头开始编写一个小的HelloWorld程序(主机和客户端)。 每当我的客户端尝试使用该服务时,我一直收到ProtocolException Unhandled ,我无法弄清楚原因。 我正在使用IIS托管服务。 关于我设置的方式:我正在尽力分离客户端,代理,主机,服务和合同,详见本video和本文所述 。 基本上我在解决方案中为每个项目提供了不同的项目。 这里有一些不同的文件显示我在说什么: 服务 namespace HelloWorld { public class HelloWorldService : IHelloWorldService { public String GetMessage(String name) { return “Hello World from ” + name + “!”; } } } 合同 namespace HelloWorld { [ServiceContract] public interface IHelloWorldService { [OperationContract] String GetMessage(String name); } } 代理 namespace HelloWorld { […]

如何允许IIS从ASP.NET MVC项目中使用本地数据库?

我将在本地网络上演示ASP.NET MVC网站。 此应用程序与数据库连接: 我想如果IIS和每当我在本地运行我的应用程序时都可以使用这个数据库。 我在IIS上创建了一个站点 – 它运行的是.NET v4。 我的项目位于c:\inetpub\www\ebc 。 我可以发布网站,但在查看页面时收到此错误: “建立与SQL Server的连接时发生与网络相关或特定于实例的错误。未找到服务器或无法访问服务器。validation实例名称是否正确以及SQL Server是否配置为允许远程连接。(提供程序: SQL网络接口,错误:50 – 发生本地数据库运行时错误。在LocalDB实例API方法调用中发生意外错误。请参阅Windows应用程序事件日志以获取错误详细信息。 我知道我需要允许通过microsoft sql server manager远程连接到sql server? 有没有办法在别的地方做到这一点?

Windows Azure – 在Windows Azure IIS存储中提供未知(mp4)MIME类型

我有一个windows azure部署(一个web角色),根据请求将一对video文件(mov和mp4)从azure存储器中拉入它自己的本地IIS存储器,然后我可以通过浏览器访问它。 这可能听起来很愚蠢,但我有充分的理由这样做。 不幸的是,我无法访问mp4文件。 mov很好,但mp4给我“404 – 文件或目录未找到”。 我已经调查了这一点,似乎是因为IIS不会返回未知的文件类型,而mp4必须属于这一类。 如果它是一个普通的IIS服务器,我将能够注册mp4 mime类型,但我不知道如何在Windows Azure中进行此操作。 我可以RDP并手动完成,但这不可行,因为角色经常被替换,并且意味着我需要每次都手动重新进行。 必须通过其中一个配置文件或代码完成。 有人可以帮忙吗? 谢谢!! 史蒂芬

性能计数器 – System.InvalidOperationException:类别不存在

我有以下类返回IIS当前每秒请求数。 我每分钟调用RefreshCounters以保持每秒请求数值的刷新(因为它是平均值,如果我保持太长时间,旧值会影响结果太多)……当我需要显示当前的RequestsPerSecond时,我会调用该属性。 public class Counters { private static PerformanceCounter pcReqsPerSec; private const string counterKey = “Requests_Sec”; public static object RequestsPerSecond { get { lock (counterKey) { if (pcReqsPerSec != null) return pcReqsPerSec.NextValue().ToString(“N2”); // EXCEPTION else return “0”; } } } internal static string RefreshCounters() { lock (counterKey) { try { if (pcReqsPerSec != null) { […]

初学者在C#中穿线

你能推荐一系列好文章, 或者最好是一本关于如何开始使用线程的书籍 ,尤其是C#? 我主要是在控制台应用程序和ASP.Net应用程序中寻找线程的使用。 我只了解线程的基础知识,并且知道“这里是龙”,所以在我开始使用它们之前想要得到一个良好的基础。 我很好奇的事情就像是有一个线程池的概念,你如何管理它的大小,你如何选择排队的东西直到一个线程可用而强迫一个新线程开始等等。另外,我明白了IIS有很多内置的线程处理,所以解释如何使用IIS下的ASP.Net中的线程以及它与控制台C#应用程序中的线程的区别是很有趣的。 我的预期用途包括: 用户在ASP.Net页面上做了一些事情,导致我的服务器端代码需要连接到另一个系统并执行冗长的操作,所以我想通过将该操作发送到另一个线程来快速将控制权返回给用户。 用户可以通过AJAX继续观察进度,或者只是离开 – 毕竟网络是无状态的:) 使用Fire和忘记模式(那里有很多示例代码,我想更多地了解它们是如何工作的) 谢谢

回收或重启后无法在IIS上保留Web应用程序

我有一个MVC应用程序,使用Quartz.NET定期发送电子邮件。 尽管已发布的应用程序在IIS正常运行,但在回收应用程序池或在IIS上重新启动应用程序后,它无法运行。 在网上搜索我发现有几个post建议对配置文件或IIS进行一些更改,但它们都没有正常工作。 那么,有什么方法可以解决这个问题吗? 我需要一个可以应用于应用程序端的解决方案(如果只是简单地进行配置更改等,则需要在IIS端)。 我认为这是在IIS上保留应用程序时的常见问题,不是吗? 注意:我使用的是Windows Server 2008和IIS 7.5。