我是使用async
修饰符进行异步编程的新手.我试图弄清楚如何确保我Main
的控制台应用程序的方法实际上异步运行.
class Program
{
static void Main(string[] args)
{
Bootstrapper bs = new Bootstrapper();
var list = bs.GetList();
}
}
public class Bootstrapper {
public async Task<List<TvChannel>> GetList()
{
GetPrograms pro = new GetPrograms();
return await pro.DownloadTvChannels();
}
}
Run Code Online (Sandbox Code Playgroud)
我知道这不是从"顶部"异步运行的.由于无法async
在Main
方法上指定修饰符,如何在main
异步中运行代码?
这可能是我花了好几个小时解决很长时间的最大浪费时间问题.
var db = new hublisherEntities();
establishment_brands est = new establishment_brands();
est.brand_id = 1;
est.establishment_id = 1;
est.price = collection["price"];
est.size = collection["size"];
db.establishment_brands.Add(est);
db.SaveChanges();
Run Code Online (Sandbox Code Playgroud)
这给了我一个错误
值不能为空.参数名称:source
堆栈跟踪
[ArgumentNullException:Value不能为null.参数名称:source] System.Linq.Enumerable.Any(IEnumerable
1 source, Func
2 predicate)+4083335 System.Data.Entity.Internal.InternalContext.WrapUpdateException(UpdateException updateException)+87
System.Data.Entity.Internal.InternalContext.SaveChanges()+ 193
System.Data.Entity.Internal.LazyInternalContext.SaveChanges()+ 33
System.Data.Entity.DbContext.SaveChanges()+20 ......
我只想在表中添加一个实体.ORM是EF.
当我从我的网站上传图像时,我需要做两件事:
我做的第一件事是将图像流读入Image对象,如下所示:
var file = Request.Files["logo"];
Image FullsizeImage = Image.FromStream(file.InputStream);
Run Code Online (Sandbox Code Playgroud)
我接下来要做的是将"文件"对象保存到数据库(LINQ to SQL).但是,当我尝试将图像保存到数据库时,来自文件的流在流的末尾有它的位置,似乎没有数据存在.
我知道我应该重新设置流并将其重新置于0位置,但我该如何做到最有效率和最正确的方式呢?
如何删除Elmah在服务器上生成的日志文件?
Elmah中是否有可用于删除日志文件的设置?我更愿意指定一些标准(例如,超过30天的日志文件).
或者我应该为此编写自己的代码?
我有一个简单的问题(我希望):)
在对数据执行CRUD操作时,我几乎总是使用void作为"返回"类型.
例如.考虑以下代码:
public void Insert(IAuctionItem item) {
if (item == null) {
AuctionLogger.LogException(new ArgumentNullException("item is null"));
}
_dataStore.DataContext.AuctionItems.InsertOnSubmit((AuctionItem)item);
_dataStore.DataContext.SubmitChanges();
}
Run Code Online (Sandbox Code Playgroud)
然后考虑这段代码:
public bool Insert(IAuctionItem item) {
if (item == null) {
AuctionLogger.LogException(new ArgumentNullException("item is null"));
}
_dataStore.DataContext.AuctionItems.InsertOnSubmit((AuctionItem)item);
_dataStore.DataContext.SubmitChanges();
return true;
}
Run Code Online (Sandbox Code Playgroud)
它实际上只取决于你是否应该通知插入的东西(并且进展顺利)?
我想知道是否有一个以编程方式挂钩到visual studio编辑器,以便我可以确定是否有人在编辑器中输入.
谢谢!
我有一个我理解的错误,但无法想出以正确的方式解决.
我有一个MasterPage,从那个MasterPage我打电话:
<% Html.RenderPartial("Tags"); %>
Run Code Online (Sandbox Code Playgroud)
Tags是一个强类型视图,如下所示:
<%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl<IEnumerable<JegManglerEn.Controllers.CategoryCount>>" %>
Run Code Online (Sandbox Code Playgroud)
我像这样返回PartialView:
return View("Tags", result);
Run Code Online (Sandbox Code Playgroud)
结果是正确的和类型:
List<CategoryCount>
Run Code Online (Sandbox Code Playgroud)
错误是这样的:
传递到字典中的模型项的类型为'System.Collections.Generic.List 1[JegManglerEn.Item]', but this dictionary requires a model item of type 'System.Collections.Generic.IEnumerable
1 [JegManglerEn.Controllers.CategoryCount]'.
所以设置如下:
MasterPage加载一个带有JegManglerEn.Item集合的View,并尝试加载一个带有JegManglerEn.Controllers.CategoryCount集合的PartialView ......但是没有这样做.
我知道它与RenderPartial方法有关,因为如果我将它改为RenderAction,它的效果很好.
如果你们有答案,我可以跳过查看MVC soruce或启动Reflector.
谢谢!
为什么我可以像这样实现只读属性...
public IList<object> SelectedItems { get; }
Run Code Online (Sandbox Code Playgroud)
...当我使用该属性时,仍然可以使用其成员,如添加,删除等?
是不是应该只读"一路向下"?
我想在这个HTML字符串中找到每个"a"标签
$(document).ready(function(data) {
$.get('test.html',
function(responseText){
//find each a tag
}, "html"
)
});
Run Code Online (Sandbox Code Playgroud)
为什么这对我来说太难了?
我现在已经盯着自己,所以请帮忙.
当我在循环内调用此方法两次时,它返回相同的值.为什么?
public async Task<int> RollDice() {
var rnd = new Random();
var selected = 0;
await Task.Run(() => {
selected = rnd.Next(1, 6);
});
return selected;
}
Run Code Online (Sandbox Code Playgroud) 我试图从JavaScript中获取XML节点的属性.
item.selectNodes( "圈地[@url]")
这不像我想的那样工作:(
任何提示?
谢谢!
在我试图理解引用程序集以及CLR如何处理它们时,我对实际有多少不同的.NET CLR有点困惑.
查看.NET Metro配置文件,其中API由winmd文件投影,稍后通过引用程序集在.NET中处理,CLR的哪个版本/种类正在处理这个问题?
它似乎与Silverlight配置文件和Windows Phone配置文件的机制相同,因此为每个配置的CLR都会加载相同的CLR,但只会公开相关的API,具体取决于您的目标.
是否有意义 ?
<?php
$start = microtime(true);
$end = microtime(true);
echo $end - $start;
?>
Run Code Online (Sandbox Code Playgroud)
为什么这段代码会产生如下结果:
1.1920928955078E-5,
5.9604644775391E-6,
6.9141387939453E-6
Run Code Online (Sandbox Code Playgroud)
E-5和E-6是什么意思?
为什么差异如此之大?从1.2秒到6.9秒?
c# ×6
.net ×4
asp.net-mvc ×3
javascript ×2
async-await ×1
asynchronous ×1
clr ×1
editor ×1
elmah ×1
jquery ×1
php ×1
random ×1
vsix ×1
windows ×1
xml ×1
xpath ×1