我试图找到一种方法在IIS上运行MVC6应用程序,但没有实际进行发布.我不确定这是否可能,如果不可能,将来是否可能?
我想在以前的版本中有类似的行为,我可以轻松地调试我的代码并在IIS下运行应用程序时进行更改.
我已经为我的集合实现了Repository模式和基本实体类.到现在为止所有集合了_id的ObjectId类型.在代码中,我需要将其表示Id为字符串.
这是EntityBase班级的样子
public abstract class EntityBase
{
[BsonRepresentation(BsonType.ObjectId)]
public virtual string Id { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
这是映射:
BsonClassMap.RegisterClassMap<EntityBase>(cm =>
{
cm.AutoMap();
cm.MapIdProperty(x => x.Id).SetIdGenerator(StringObjectIdGenerator.Instance);
cm.IdMemberMap.SetSerializer(new StringSerializer().WithRepresentation(BsonType.ObjectId));
});
Run Code Online (Sandbox Code Playgroud)
现在我有一个语言集合,其中Id将是简单的字符串en-GB.
{
"_id" : "en-GB",
"Term1" : "Translation 1",
"Term2" : "Translation 2"
}
Run Code Online (Sandbox Code Playgroud)
Languageclass继承了这个EntityBase类
public class Language : EntityBase
{
[BsonExtraElements]
public IDictionary<string, object> Terms { get; set; }
public override string Id { get; set; }
} …Run Code Online (Sandbox Code Playgroud) 当我在kpm restore哪里可以找到已解决的依赖项?它们是否存储在磁盘上?我正在寻找我的.kre包所在的文件夹.
使用StackExchange.Redis时,我遇到了超时问题.我在stackoverflow上找到的所有东西都试过了.
这是我得到的: Timeout performing GET XXX, inst: 4, mgr: ProcessReadQueue, err: never, queue: 9, qu: 0, qs: 9, qc: 0, wr: 0, wq: 0, in: 65536, ar: 1, IOCP: (Busy=0,Free=1000,Min=400,Max=1000), WORKER: (Busy=35,Free=32732,Min=400,Max=32767)
在几乎所有的例外中,我只得到queue并且qs正在改变并且它具有最高价值11.
我正在使用nuget版本1.0.488.应用程序托管在Windows Server 2012上的IIS 8.5上.在该计算机上,我们有32GB的RAM,使用率为30-50%.我已设置maxmemory为16gb和maxheap22gb.保存到磁盘已禁用.我只将它用作会话存储.
Redis服务器(版本x64-2.8.2402)安装在同一台计算机上.这是我拥有的redis-cli信息的网址.
这也是我得到的例外部分:
System.TimeoutException: Timeout performing GET Airports, inst: 1, mgr: ProcessReadQueue, err: never, queue: 4, qu: 0, qs: 4, qc: 0, wr: 0, wq: 0, in: 65536, …Run Code Online (Sandbox Code Playgroud)