我使用WebPageTest来测试Azure Web App的性能(ASP.Net vNext Web API/Angular).我得到了"压缩传输"和"缓存静态内容"的F.
在搜索StackOverflow和Google之后,我在web.config中添加了以下内容:
<urlCompression doStaticCompression="true" doDynamicCompression="true" />
<httpCompression>
<dynamicTypes>
<clear />
<remove mimeType="*/*" />
<add enabled="true" mimeType="text/*"/>
<add enabled="true" mimeType="message/*"/>
<add enabled="true" mimeType="application/x-javascript"/>
<add enabled="true" mimeType="application/javascript"/>
<add enabled="true" mimeType="application/json"/>
<add enabled="false" mimeType="*/*"/>
<add enabled="true" mimeType="application/atom+xml"/>
<add enabled="true" mimeType="application/atom+xml;charset=utf-8"/>
</dynamicTypes>
<staticTypes>
<clear />
<remove mimeType="*/*" />
<add enabled="true" mimeType="text/*"/>
<add enabled="true" mimeType="message/*"/>
<add enabled="true" mimeType="application/javascript"/>
<add enabled="true" mimeType="application/atom+xml"/>
<add enabled="true" mimeType="application/xaml+xml"/>
<add enabled="true" mimeType="application/json"/>
<add enabled="false" mimeType="*/*"/>
</staticTypes>
</httpCompression>
Run Code Online (Sandbox Code Playgroud)
和
<staticContent>
<!-- Set expire headers to 30 …Run Code Online (Sandbox Code Playgroud) 我有以下代码给我提出问题,我将不胜感激任何帮助:
private static string CreateOptionString(List<VehicleOption> Options)
{
StringBuilder returnValue = new StringBuilder();
foreach (VehicleOption option in Options)
{
if (option.OptionStatus == ExtendedResponse.OptionState.Included)
{
if (returnValue.Length > 0)
{
returnValue.Append(", ");
}
returnValue.Append(option.OptionName);
}
}
return returnValue.ToString();
}
Run Code Online (Sandbox Code Playgroud)
我最初的问题是我得到了一个System.InvalidOperationException:我的foreach循环上的集合被修改了错误.
1)我仍然无法弄清楚为什么我会得到这个错误,因为我没有看到它被修改的任何地方.
有人建议我将List复制到一个新List并循环遍历新List.我做到了,它摆脱了InvalidOperationException.但是,我试着以不同的方式处理列表,并且两者都给了我一个System.ArgumentException:目标数组不够长.以下是我尝试复制列表的两种方法
List<VehicleOption> newOptions = new List<VehicleOption>(Options);
Run Code Online (Sandbox Code Playgroud)
和
List<VehicleOption> newOptions = new List<VehicleOption>();
newOptions.AddRange(Options);
Run Code Online (Sandbox Code Playgroud)
这两个都给了我一个System.ArgumentException:Destination数组不够长.
2)为什么这些方法中的任何一个都会给我这个例外?
任何帮助将不胜感激,因为我很难过.
谢谢!
我是 MongoDB 新手。我正在尝试检索查找集合中的所有条目。我收到以下错误:
{“反序列化 Stock.Models.StockLookup 类的 Symbol 属性时发生错误:无法从 BsonType 'Double' 反序列化 'String'。”}
这是我收到错误的代码:
var stockLookups = _stockLookupRepository.GetAllAsync().Result.OrderBy(l => l.Symbol);
Run Code Online (Sandbox Code Playgroud)
这是被调用的方法:
public async Task<List<StockLookup>> GetAllAsync()
{
var result = await _collection.Find(sl => sl.Symbol != null).ToListAsync();
return result;
}
Run Code Online (Sandbox Code Playgroud)
这是 StockLookup 类:
public class StockLookup
{
public ObjectId Id { get; set; }
public string Symbol { get; set; }
public string Name { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
谁能帮我找出问题所在吗?任何帮助将不胜感激。
谢谢!
我是F#的新手.我正在尝试在F#脚本文件中使用CSV类型提供程序.
我在Visual Studio 2015中创建了一个新项目,并添加了FSharp.Data nuget包.
我创建了一个包含以下内容的脚本文件:
#r "../packages/FSharp.Data.2.3.2/lib/portable-net45+netcore45/FSharp.Data.dll"
open FSharp.Data
type Logs = CsvProvider<"logs.csv">
Run Code Online (Sandbox Code Playgroud)
但是,我在开放的FSharp.Data行下获得了红色波浪线.intelisense说"通过System.Globalization.CultureInfo引用的类型是在未引用的程序集中定义的.
此外,在CsvProvider下面还有一条红色波浪线,表示"未定义类型'CsvProvider'".
我使用本教程作为参考,但我不明白为什么它不起作用:http://fsharp.github.io/FSharp.Data/library/CsvProvider.html
我正在使用.Net的Web API编写一个简单的API.我定义了以下模型:
public class VehicleUpdate
{
[Required(ErrorMessage = "DealerID Required")]
public int DealerID { get; set; }
[Required(ErrorMessage = "VIN Required")]
[StringLength(17, ErrorMessage = "VIN Must be 17 characters", MinimumLength = 17)]
public string VIN { get; set; }
[StringLength(8000, ErrorMessage = "Comments must be less than 8,000 characters")]
public string Comments { get; set; }
public double Retail { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
我尝试通过使用以下XML执行HTTP Post来测试它
<VehicleUpdate>
<DealerID>30</DealerID>
<VIN>1FMRU17L0WLA62356</VIN>
<Comments>This is a test.</Comments>
<Retail>1000</Retail>
</VehicleUpdate>
Run Code Online (Sandbox Code Playgroud)
当我这样做时,我得到以下SerializationException:
System.Runtime.Serialization.SerializationException:第1行位置的错误16.期望来自名称空间'http://schemas.datacontract.org/2004/07/API.Models'的元素'VehicleUpdate'..遇到名为'的'元素' VehicleUpdate',命名空间''.在System.Runtime.Serialization.DataContractSerializer.InternalReadObject(XmlReaderDelegator的XmlReader,布尔verifyObjectName,DataContractResolver dataContractResolver)在System.Runtime.Serialization.XmlObjectSerializer.ReadObjectHandleExceptions(XmlReaderDelegator读卡器,布尔verifyObjectName,DataContractResolver dataContractResolver)在System.Runtime.Serialization.DataContractSerializer.ReadObject …
我有一个 WebApi 解决方案,我正在使用StructureMap.WebApi2 Nuget 包进行依赖注入。
我想使用Fody Tracer编织跟踪方法。我正在实现我自己的自定义日志适配器,这要求我从静态类/方法返回我的记录器实例。
我使用结构映射从静态类/方法获取记录器实例的正确方法是什么?
c# ×3
.net ×1
asp.net ×1
azure ×1
csv ×1
f# ×1
fody ×1
foreach ×1
gzip ×1
http-caching ×1
list ×1
mongodb ×1
static ×1
structuremap ×1
wcf-web-api ×1