我如何使它不是用2个空格的倍数缩进我的元素(当选择格式化而不包装时),HTMLTidy用多个制表符缩进它们(长4个空格但大小只有1个字节)?
我刚开始看JqueryMobile并想知道以下是否可行?
我希望能够选择一个文件(类似于html),然后显示某种对话框,允许我浏览到"文件夹"并选择文件.然后由我发送某种AJAX命令将其上传到服务器(我使用的是Asp.net MVC 2)
由于我无法访问iPhone或iPad,我被告知我只能访问文档文件夹.
JD
我正在尝试在我目前正在处理的项目中实现解压缩功能,但问题是我在许可方面有一些限制,我需要远离GPL类似的许可证,因为该项目是封闭源代码.
这意味着我不能再使用SharpZipLib ..所以我转移到.Net库目前我正在尝试使用ZipArchive库.
问题是它没有提取目录/子目录,所以如果我有内部有file.txt的blabla.zip和/folder/file2.txt,整个东西将被提取到file.txt和file2.txt,所以它忽略子目录.
我正在使用MSDN网站上的示例.看起来像是这样的:
using (ZipArchive archive = ZipFile.OpenRead(zipPath))
{
foreach (ZipArchiveEntry entry in archive.Entries)
{
entry.ExtractToFile(Path.Combine(extractPath, entry.FullName));
}
}
Run Code Online (Sandbox Code Playgroud)
不知道怎么解决这个问题?
我正在开发一个WebAPI2项目进行一些数据收集,我试图弄清楚如何减少API方法的响应时间.
我有一个JavaScript函数,可以将信息发布到我的api.我的API接收此信息,将其插入数据库,然后返回HTTP Accepted.
假设数据处理完成的等待时间为5秒
// POST api/<controller>
public HttpResponseMessage Post([FromBody]string value)
{
//This represents 5000 milliseconds of work
System.Threading.Thread.Sleep(5000);
return new HttpResponseMessage(HttpStatusCode.Accepted);
}
Run Code Online (Sandbox Code Playgroud)
这意味着,当我的JavaScript函数调用Post方法时,它会等待5秒钟的响应.
有没有办法可以立即返回HTTP Accepted的响应,然后继续处理我的数据?
从lilo.jacob更新解决方案
好的,我已经使用下面的线程解决方案更新了我的方法.这是新代码
// POST api/<controller>
public HttpResponseMessage Post([FromBody]string value)
{
new System.Threading.Tasks.Task(() =>
{
//This represents 5000 milliseconds of work
System.Threading.Thread.Sleep(5000);
}).Start();
return new HttpResponseMessage(HttpStatusCode.Accepted);
}
Run Code Online (Sandbox Code Playgroud)
几乎立即返回响应,这正是我所寻找的.以下是Fiddler的一些结果,显示了响应时间的变化

第一个响应显示启动时WebAPI的延迟,请求4,5和7正在使用线程并在彼此之后立即触发.响应11显示相同的请求而未启用线程,请注意5秒延迟.
非常酷,干净,精益解决问题的方法.
我需要列出 Elasticsearch 中的所有索引和类型。
基本上我_client.stats().Indices用来获取索引,并使用foreach排除的索引列表进行过滤,如下所示:
public Dictionary<string, Stats> AllIndexes()
{
_client = new ElasticClient(setting);
var result = _client.Stats();
var allIndex = result.Indices;
var excludedIndexList = ExcludedIndexList();
foreach (var index in excludedIndexList)
{
if (allIndex.ContainsKey(index)) allIndex.Remove(index);
}
return allIndex;
}
Run Code Online (Sandbox Code Playgroud)
这是从 Elasticsearch 列出所有索引的正确方法还是有更好的方法?
我有一个方法可以从数据读取器的数据生成类类型列表。
if (datareader != null && datareader .HasRows)
{
Dictionary<string, PropertyInfo> pDict= GetPropertyDictionary<T>();
var fields = GetFieldNames(datareader );
while (datareader .Read())
{
T myobj= new T();
for (int index = 0; index < fields.Count; index++)
{
if (pDict.TryGetValue(fields[index], out PropertyInfo info))
{
var val1 = datareader .GetValue(index);
info.SetValue(myobj, (val1 == DBNull.Value) ? null : val1, null);
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
我有类属性,其中一些可以为空。
public string StudentName{ get; set; }
public decimal? percentage{ get; set; }
public int? StudentNumber{ get; set; }
Run Code Online (Sandbox Code Playgroud)
代码适用于除 …
我无权更改为 Intranet 站点启用 IE 模式的公司策略。
我们团队使用的一个页面,无法使用IE。在IE模式下使用Edge,页面无法工作。
页面中内置了 3 分钟刷新,标签如下:
<meta http-equiv="refresh" content="180" />
Run Code Online (Sandbox Code Playgroud)
第一次刷新后,它切换回正常的 Chromium Edge 模式,一切正常。我如何强制它每次都加载到 Chromium Edge 中?
我可以修复该页面以使其在 IE 中工作,但这似乎是一种巨大的浪费。
这是第一个问题:
这可能吗?我从Joe Wrobel的工作中获取灵感(减少了被遗忘的Codeplex项目).在这里,您完成了为提供程序创建配置文件的工作,并为其创建强类型的工作,有效地为Profile类创建了一个Facade.
现在是背景故事!
我真的不喜欢魔法弦.它们非常糟糕,在更新应用程序时可能会导致严重的问题.在PHP和ColdFusion等语言中工作之后,我知道很容易将它们放入应用程序并忘记它们,直到您需要更改它们.然后你必须追捕它们的每一个变化并相应地改变它们.
如果您遵循"开箱即用"的应用程序模板,.NET实际上并没有那么好.很多例子都使用web.config中的appsetting来存储各种设置.这确实是一个存储的好地方,非常适合大多数应用程序.然而,当您开始直接调用这些问题时,问题就开始出现了 - 例如ConfigurationManager.AppSettings["MyAppSetting"].然后,当你回到使用魔术字符串时,你并没有比PHP用户更好.
这就是外墙进来的地方.外墙提供了一种在一个地方从魔术字符串创建强类型对象的方法,并让开发人员从应用程序的其余部分引用它.
现在,我没有使用web.config来包含我的appsettings,而是使用数据库来保存它们.在应用程序启动时,将检索名称/值组合,然后将其顺序添加到ConfigurationManager.AppSettingsvia Set.没什么大不了的(除了我之前的问题!).
这个"应用程序外观"可以通过我的数据层,服务层和表示层访问,并保存应用程序模式,使用yada yada yada的服务端点,并限制必须寻找许多魔法字符串,最多两个魔法strings - facade中的一个(名称),以及创建点中的另一个(名称和值)(对我来说是db).
这个门面类最终会变得非常大,我最终会厌倦不得不更新它们.
所以我想要做的是拥有一个ApplicationFacade类,每次构建完成后都会自动生成.现在又回到了开始......这可能吗?
我正在从静态站点设计一个新的动态站点.我的路线全部排序但我对我的Action方法有疑问.
下面是代码,但是当测试并查看Firebug报告的标头时,如果我取出Response.End它是302重定向我假设因为我设置了301然后调用另一个动作使它成为302,但如果我放入Response.End我得到301.
我猜测添加Response.RedirectLocation实际上正在进行301重定向,所以我是否将我的返回值更改为EmptyResult或null,即使该行代码永远不会被执行,因此应用程序编译?
public ActionResult MoveOld(string id)
{
string pagename = String.Empty;
if(id == "2")
{
pagename = WebPage.SingleOrDefault(x => x.ID == 5).URL;
}
Response.StatusCode = 301;
Response.StatusDescription = "301 Moved Permanently";
Response.RedirectLocation = pagename;
Response.End();
return RedirectToAction("Details", new { pageName = pagename });
}
Run Code Online (Sandbox Code Playgroud) 这是我用于测试Type扩展方法的类的片段:
class Something
{
[StringLength(100, MinimumLength = 1, ErrorMessage = "Must have between 1 and 100 characters")]
public string SomePublicString { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
我有以下扩展方法:
public static class TypeExtensions
{
public static TAttributeType GetCustomAttribute<T, TAttributeType, TProperty>(this T value, Expression<Func<T, TProperty>> propertyLambda, bool inherit = false)
{
var type = typeof(T);
var member = (MemberExpression)propertyLambda.Body;
var propertyInfo = (PropertyInfo)member.Member;
var customAttributes = propertyInfo.GetCustomAttributes(typeof(TAttributeType), inherit);
return customAttributes.OfType<TAttributeType>().FirstOrDefault();
}
}
Run Code Online (Sandbox Code Playgroud)
用于单元测试:
1: var something = new Something();
2: var actual = something.GetCustomAttribute<Something, …Run Code Online (Sandbox Code Playgroud) c# ×6
.net ×2
asp.net ×2
asp.net-mvc ×2
appsettings ×1
compression ×1
datareader ×1
facade ×1
html ×1
indentation ×1
ios ×1
jquery ×1
lambda ×1
nest ×1
notepad++ ×1
nullable ×1
t4 ×1
tabs ×1
tidy ×1
zip ×1