Tag: asp.net 4.5

await / async Microsoft Practices企业库数据

我有一个较旧的应用程序,我在其中使用Microsoft.Practices.EnterpriseLibrary.Data从数据库中获取数据。 我最近升级到.NET 4.5并希望利用await / async 。 根据命名标准,我没有看到任何以“Async”结尾的方法,即使在最新版本的软件包中也是如此。 是否可以在不手动使其异步的情况下对此ADO .NET库使用await / async?

如何在冗长的循环中使用服务器端变量更新客户端?

我试图在一个冗长的服务器端进程上放置一个Web界面,该进程应该在进程运行时向客户端发送常规进度\统计报告。 我怎样才能做到这一点? 这是我到目前为止所尝试的。 只要循环正在处理,webmethod中的会话就为null。 循环完成后再次按下开始按钮,它就可以获取会话值并填充标签。 如何在进程运行时将此更新发送到客户端? 我正在使用VS2012和ASP.NET 4.5。 编辑:更具体地说,问题发生在服务器忙于循环时。 如果我取消循环并且只是尝试定期从服务器中提取变量值,那么就没有问题了。 将该变量放在一个循环中并尝试定期获取它,你会看到问题是什么,我发布的代码应该澄清问题,如果你运行它。 谢谢。 Default.aspx的 function GetCount() { $.ajax({ type: “POST”, url: “Default.aspx/GetCount”, contentType: “application/json; charset=utf-8”, data: {}, dataType: “json”, success: function (data) { lblCount.innerHTML = data.d; }, error: function (result) { alert(result.status + ‘ ‘ + result.statusText); } }); setTimeout(GetCount, 5000); } Default.aspx.cs using System; using […]

在同步的asp.net控制器中使用Task.Run

是否有一种有效的方法来下载文件并以“后台”方式将其保存在磁盘上,而不会阻止mvc控制器中当前执行的操作? 目前我有以下示例代码工作: public ActionResult Index() { InitiateDownload(); var model = GetModel(); return View(model); } private void InitiateDownload() { Task.Run(() => DownloadAndSaveFileAsync()).ConfigureAwait(false); } private async Task DownloadAndSaveFileAsync() { var response = await GetResponse(); using (var fileStream = new FileStream(“c:\\file.zip”, FileMode.Create, FileAccess.Write, FileShare.None)) { await response.Content.CopyToAsync(fileStream).ConfigureAwait(false); } } public async Task GetResponse() { var client = new […]

asp.net MVC 4,标记地点 – 最佳实践(例如酒吧,商店,餐厅)

ASP.NET MVC 4 Web应用程序,EF 5,SQL Server 2012 Express,Visual Web Developer 2012 Express,Code First 我有一个place对象 – 我想为每个地方添加多个标签。 最好的方法是逗号分隔的字符串或相关对象吗? 任何设计模式或方法来管理整个事物(添加,查找,与地点相关联等)? 良好的表现也是有意义的。 标记由管理员完成,因此以易于使用为代价的速度/易于实现是可以接受的。 谢谢。

类型定义存在于两个库中

我正在使用.NET 4.5构建ASP.NET Web Forms网站。 错误 … The type ‘System.ComponentModel.DataAnnotations.Schema.ForeignKeyAttribute’ exists in both ‘f:\Projects\web sites\RC1Iteration05\packages\EntityFramework.5.0.0\lib\net40\EntityFramework.dll’ and ‘c:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.5\System.ComponentModel.DataAnnotations.dll’ 我试图使用…来对库进行别名… csc /r:EF_DataAnnotations=”f:\Projects\web sites\RC1Iteration05\packages\EntityFramework.5.0.0\lib\net40\EntityFramework.dll” /r:CM_DataAnnotations=”c:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.5\System.ComponentModel.DataAnnotations.dll” 但这只会导致“无源文件指定”同样令人困惑,因为源文件被指定为指示( 此处和此处 )。 我注意到该错误引用了net40文件夹中的EF dll而不是net45文件夹。 我想如果我使用net45版本问题会自行解决,但我不知道如何更改该引用。 我将“targetFramework”属性更改为packages.config文件中的EntityFramework包,但这没有任何区别。 我有点卡住,因为这两个解决方案似乎都没有做任何事情。 我环顾四周,在这里发现了一些post,人们已经处理过类似的问题,但没有收到任何答复。 我希望那里有人可以提供帮助! 谢谢 G

如何将多个args传递/接收到RESTful Web API GET方法?

接收参数(返回标量值而不是数据集)的GET RESTful方法的常见示例如下所示: public string Get(int id) { //get and return the value } …传递的val通常是一个ID,因此您可以使用它来获取基于该唯一值的标量值。 但是,如果要传递多个值,例如字符串和int,该怎么办? 这只是定义一个这样的方法的问题: public string Get(string someString, int someInt) { //get and return the value } ……并且这样称呼它: //const string uri = “http://192.112.183.42:80/api/platypusItems/someString/someInt”;, zB: const string uri = “http://192.112.183.42:80/api/platypusItems/DuckbilledPlatypisAreGuysToo/42”; var webRequest = (HttpWebRequest) WebRequest.Create(uri); ? IOW,路由机制是否会发现,由于传递了两个args,它应该使用两个args(“约定优于配置”)调用Get()方法,还是需要做更多的事情才能正确地路由事物?

如何使用MachineKey.Protect作为cookie?

我想加密我在cookie中使用的ID。 我正在使用ASP.NET 4.5,所以我想使用MachineKey.Protect来做到这一点。 码 public static string Protect(string text, string purpose) { if (string.IsNullOrEmpty(text)) return string.Empty; byte[] stream = Encoding.Unicode.GetBytes(text); byte[] encodedValue = MachineKey.Protect(stream, purpose); return HttpServerUtility.UrlTokenEncode(encodedValue); } public static string Unprotect(string text, string purpose) { if (string.IsNullOrEmpty(text)) return string.Empty; byte[] stream = HttpServerUtility.UrlTokenDecode(text); byte[] decodedValue = MachineKey.Unprotect(stream, purpose); return HttpServerUtility.UrlTokenEncode(decodedValue); } 当我使用以下测试数据时: Protect() : […]

通过async / await进行服务器通信?

我想通过async / await创建通过TAP发送Socket消息。 在阅读了这个答案之后 – 我决定创建一个完全正常的样本: 那我尝试了什么: 我从这里获取了TAP扩展方法(一切正常):我在控制台cmd中测试它: 接收代码 public static class SocketExtensions { public static Task ReceiveTaskAsync(this Socket socket, byte[] buffer, int offset, int count) { return Task.Factory.FromAsync( socket.BeginReceive(buffer, offset, count, SocketFlags.None, null, socket), socket.EndReceive); } public static async Task ReceiveExactTaskAsync(this Socket socket, int len) { byte[] buf = new byte[len]; int totalRead = […]

HttpRuntime.Cache等效于asp.net 5,MVC 6

所以我刚刚从ASP.Net 4迁移到ASP.Net 5.我现在正试图改变一个项目,以便它在新的ASP.Net中运行,但当然会出现一大堆错误。 有谁知道HttpRuntime的等效扩展是什么,因为我似乎无法在任何地方找到它。 我正在使用缓存对象客户端。 HttpRuntime.Cache[Findqs.QuestionSetName] ‘Findqs’只是一个普通的对象

如何在Web API中实现HttpMessageHandler?

在ASP.NET 4.5 MVC 4 Web API项目中,我想添加一个自定义的HttpMessageHandler 。 我已经更改了WebApiConfig类(在\ App_Satrt \ WebApiConfig.cs中),如下所示: public static class WebApiConfig { public static void Register(HttpConfiguration config) { config.Routes.MapHttpRoute( name: “DefaultApi”, routeTemplate: “api/{controller}/{id}”, defaults: new { id = RouteParameter.Optional }, constraints: null, handler: new MyCustomizedHttpMessageHandler() ); } } 然后我开发了MyCustomizedHttpMessageHandler : public class MyCustomizedHttpMessageHandler : HttpMessageHandler { protected override Task SendAsync(HttpRequestMessage request, […]