Tag: iis

MemoryCache在第一次到期后始终返回“null”

我有以下问题,我有这种缓存管理: public class CacheManager : ICacheManager { private readonly ObjectCache cache; public CacheManager() { this.cache = MemoryCache.Default; } public void AddItem(string key, object itemToCache, double duration) { var end = DateTime.Now.AddSeconds(duration); this.cache.Add(key, itemToCache, end); } public T Get(string key) where T : class { try { return (T)this.cache[key]; } catch (Exception ex) { return null; […]

访问c#web应用程序中的内容文件

我现在已经有3天这个问题了。 我有一个标记为Content和Always Copy的xml文件。 该文件已复制到: C:\Users\avi\Documents\Visual Studio 2010\Projects\ExpressBroker\ExpressBroker\bin\XMLMetadata\Actions.1.xml 访问文件时: //like that: XDocument actions = XDocument.Load(“bin\\XMLMetadata\\Actions.1.xml”); //or like that: XDocument actions = XDocument.Load(“XMLMetadata\\Actions.1.xml”); //or like that: XDocument actions = XDocument.Load(“Actions.1.xml”); 我得到以下exception: Exception Details: System.IO.DirectoryNotFoundException: Could not find a part of the path ‘C:\Program Files\IIS Express\bin\XMLMetadata\Actions.1.xml’. 为什么在IIS文件夹中搜索过? 我如何访问该文件? 我正在使用IIs Express和VWD2010

为什么IIS返回空响应?

我刚刚使用文件系统发布到本地IIS应用程序发布了一个AngularJS / WebAPI项目,我可以在浏览器中打开该网站。 不幸的是,不能加载诸如图像,css等资源。 当我尝试访问位于子文件夹中的任何文件时,我仍然从服务器收到HTTP 200,但正文是空的。 我记得几年前我曾经遇到过这个问题,但我不记得为什么会这样。 请求 GET http://localhost/Content/images/common/logotype.png HTTP/1.1 Host: XX.XXX.XX.XXX Connection: keep-alive Cache-Control: max-age=0 Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8 Upgrade-Insecure-Requests: 1 User-Agent: Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/44.0.2403.130 Safari/537.36 Accept-Encoding: gzip, deflate, sdch Accept-Language: en-US,en;q=0.8,sv;q=0.6 响应 HTTP/1.1 200 OK Server: Microsoft-IIS/8.5 X-Powered-By: ASP.NET Date: Tue, 25 Aug 2015 07:56:12 GMT Content-Length: […]

名为“DefaultRoute”的路径已在路径集合中。 路线名称必须是唯一的

当我将ASP.NET WebAPI解决方案发布到远程IIS Server ,我收到错误消息: 消息:System.ArgumentException:名为“DefaultRoute”的路由已在路径集合中。 路线名称必须是唯一的。 我看到这个线程有同样的问题,但它没有任何效果。 我试过了: 删除所有项目中的所有bin / obj文件夹。 清洗/重建 在发布之前从远程服务器上删除文件 重命名项目 无论如何,我可以找出是否存在陈旧文件。 我确实重命名了一些文件,我听说这可能会导致问题? 不确定这是否重要,但我使用ASP.NET WebApi和RestSharp进行rest调用。 这就是我的Global.asax startup拥有的:它是多余的吗? AreaRegistration.RegisterAllAreas(); WebApiConfig.Register(GlobalConfiguration.Configuration); RouteConfig.RegisterRoutes(RouteTable.Routes);

如何在ASP.NET WebApi2中管理缓存?

我已经使用WebAPI2实现了REST服务,该服务实现为管理由访问服务的不同客户端创建和加入的不同会话。 会话包含有关访问应用程序function的信息以及已加入同一会话的参与者的信息。 每个客户端从服务器获取会话信息和访问列表,以便每秒进行同步。 根据访问权限的更改,客户端function将更改(启用/禁用)。 我正在使用MemoryCache类在WebAPI服务中存储会话信息,如下所示。 public static class SessionManager{ private static object objForLock = new object(); public static List SessionCollection { get { lock (objForLock) { MemoryCache memoryCache = MemoryCache.Default; return memoryCache.Get(“SessionCollection”) as List; // return HttpContext.Current.Application[“SessionCollection”] as List; } } set { lock (objForLock) { MemoryCache memoryCache = MemoryCache.Default; memoryCache.Add(“SessionCollection”, value, DateTimeOffset.UtcNow.AddHours(5)); //HttpContext.Current.Application[“SessionCollection”] = […]

ASP.NET核心WebAPI 500 IIS 7.5中的内部错误

我很难让这个WebAPI工作。 好吧,使用IIS。 在IIS express中一切正常,但是当我发布它时,特别是1 api请求不起作用。 我正在尝试访问API/[Controller]/{date}/{integer}的URL。 我一直收到500服务器错误。 我的API/[Controller]/{date}其他路线有效。 这是我的API控制器: [Route(“api/[controller]”)] public class PostingsController : Controller { // GET: api/Postings/5 [HttpGet(“{date}”)] public string Get(string date) { return date; } // GET api/Postings/20160407/2 [HttpGet(“{date}/{modeID}”)] public List Get(string date, int modeID) { TruckPosting tp = new TruckPosting(); List truckPostings = tp.GetTruckPostings(date, modeID); return truckPostings; } } 原因可能是我正在尝试返回List ? […]

IIS的单个Web请求是否保留在单个线程上?

我想编写一个日志记录http模块,它在请求执行时为线程本地存储中的单个请求存储日志事件列表。 在End_Request上,我想将所有事件写回持久存储。 问题是,一个请求是否与一个线程匹配? 即我可以在我的代码中的任何地方假设我可以向IEnumerable添加项目,并且它们将在请求结束时正确地组合在一起。

IIS 6.0以编程方式 – 创建虚拟目录时出现问题而不将其设置为应用程序

所以我在程序上在IIS 6.0中创建一个虚拟目录,但是我正在关注创建虚拟目录的唯一MSDN(或其他)文档,但是我在的文档 http://msdn.microsoft.com/en-us/library/ms525598(VS.90).aspx 导致我的虚拟目录成为IIS中的应用程序。 我试图使用配置数据库属性页面: http://www.microsoft.com/technet/prodtechnol/WindowsServer2003/Library/IIS/cde669f1-5714-4159-af95-f334251c8cbd.mspx?mfr=true 但是在选项的大海中,我不确定我需要设置哪些属性来严格地将其规定为虚拟目录: DirectoryEntries vdirs = site.Children; DirectoryEntry newVDir = vdirs.Add(vDirName, (className.Replace(“Service”, “VirtualDir”))); newVDir.Properties[“Path”][0] = phyPath; newVDir.Properties[“AccessScript”][0] = true; newVDir.Properties[“AppFriendlyName”][0] = vDirName; newVDir.Properties[“AppIsolated”][0] = “0”; newVDir.Properties[“AppRoot”][0] = “/LM” + metaBaseFullPath.Substring(metaBaseFullPath.IndexOf(“/”, (“IIS://”.Length))); newVDir.CommitChanges();

升级到v1.1后,ASP.NET Core将无法在IIS中运行

我已经升级了我的project.json以使用asp.net核心的新v1.1,现在当我尝试启动IIS Express进行调试时,我收到以下错误: 程序'[8784] dotnet.exe’已退出,代码为-2147450749(0x80008083)。 程序'[7352] iisexpress.exe’已退出,代码为0(0x0)。 我升级的project.json: “dependencies”: { “Microsoft.NETCore.App”: { “version”: “1.1.0”, “type”: “platform” }, “Microsoft.ApplicationInsights.AspNetCore”: “1.0.0”, “Microsoft.AspNetCore.Mvc”: “1.1.0”, “Microsoft.AspNetCore.Routing”: “1.1.0”, “Microsoft.AspNetCore.Server.IISIntegration”: “1.1.0”, “Microsoft.AspNetCore.Server.Kestrel”: “1.1.0”, “Microsoft.Extensions.Configuration.EnvironmentVariables”: “1.1.0”, “Microsoft.Extensions.Configuration.FileExtensions”: “1.1.0”, “Microsoft.Extensions.Configuration.Json”: “1.1.0”, “Microsoft.Extensions.Logging”: “1.1.0”, “Microsoft.Extensions.Logging.Console”: “1.1.0”, “Microsoft.Extensions.Logging.Debug”: “1.1.0”, “Microsoft.Extensions.Options.ConfigurationExtensions”: “1.1.0”, “Microsoft.IdentityModel.Tokens”: “5.1.0”, “Microsoft.AspNetCore.Authentication”: “1.1.0”, “Microsoft.AspNetCore.Authentication.JwtBearer”: “1.1.0”, “Microsoft.AspNetCore.Authentication.Cookies”: “1.1.0”, “Microsoft.AspNetCore.Identity.EntityFrameworkCore”: “1.1.0”, “Microsoft.EntityFrameworkCore”: “1.1.0”, “Microsoft.EntityFrameworkCore.Tools”: “1.0.0-preview2-final”, “SapientGuardian.EntityFrameworkCore.MySql”: […]

使用ServerManager.OpenRemote远程连接到IIS7

我正在尝试使用ServerManager.OpenRemote(“[IP Address]”)连接到IIS7 +。 我正在从HyperV主机连接到其客户端虚拟机。 我不断收到以下错误:’System.Runtime.InteropServices.COMException:RPC服务器不可用。 (来自HRESULT的exception:0x800706BA)’。 我可以使用通过管理服务(客户端)连接的IIS管理器(服务器)连接到客户端的IIS。 由于我无法使用服务器管理器进行连接,我猜测管理服务使用HTTP而ServerManager使用COM进行连接。 有人可以引导我朝正确的方向指导我如何允许这种远程连接吗? 编辑:我已使用netmonvalidation了2台计算机之间的DCOM通信。 我对客户端机器“DCOM:RemoteGetClassObject Request”和“DCOM:RemoteGetClassObject Response”进行了以下描述。 响应在描述中也有“ORPCFNULL”,它向我指示客户端无法找到所请求的COM对象。 任何人都可以validation吗?