将global.asax迁移到ASP.NET 5

几天前.NET Core RC1已经发布了,我在阅读了很多关于它之后第一次试了一下,我喜欢它,但它有点不同。 我正在尝试将一个小博客(内置MVC5)迁移到MVC 6和.NET Core。 这并不难,但我真的很难重新创建我在MVC 5中完全相同的global.asax设置,ASP.NET 5不再具有global.asax所以我无法弄清楚大多数设置的替代品是什么是? protected void Application_Start() { ViewEngines.Engines.Clear(); ViewEngines.Engines.Add(new RazorViewEngine()); MvcHandler.DisableMvcResponseHeader = true; AntiForgeryConfig.SuppressXFrameOptionsHeader = true; BundleConfig.RegisterBundles(BundleTable.Bundles); RouteConfig.RegisterRoutes(RouteTable.Routes); } protected void Application_BeginRequest() { Response.AddHeader(“X-Frame-Options”, “DENY”); } protected void Application_EndRequest() { if (Response.StatusCode != 301 && Response.StatusCode != 302) return; var targetUrl = Response.RedirectLocation.Replace(“ReturnUrl”, “url”); Response.RedirectLocation = targetUrl; } protected […]

Parallel.ForEach的终结器

如何在所有并行完成后添加运行的终结器? Parallel.ForEach(entries, new ParallelOptions { MaxDegreeOfParallelism = 15 }, async (entry) => // Do something with the entry. }); 我试过这样但它不编译: Parallel.ForEach(entries, new ParallelOptions { MaxDegreeOfParallelism = 15 }, async (entry) => // Do something with the entry. }, () => { // Was hoping this would work. });

XML Serialize boolean为0和1

XML Schema Part 2指定定义为boolean的数据类型的实例可以具有以下合法文字{true,false,1,0}。 例如,在反序列化时,以下XML将布尔属性“Emulate”设置为true 。 1 但是,当我将对象序列化回XML时,我得到的是true而不是数值。 我的问题是,有没有办法可以控制XML中的布尔表示?

如何为GoogleWebAuthorizationBroker.AuthorizeAsync设置return_uri?

我正在尝试在非MVC .NET Web应用程序中使用Google Calendar API 。 (这似乎是一个重要的区别。) 我试图在谷歌和Daimto的这个例子中使用这个例子中的代码以及来自这里的一些相关post的一些有用的提示。 我写了以下方法: public void GetUserCredential( String userName ) { String clientId = ConfigurationManager.AppSettings[ “Google.ClientId” ]; //From Google Developer console https://console.developers.google.com String clientSecret = ConfigurationManager.AppSettings[ “Google.ClientSecret” ]; //From Google Developer console https://console.developers.google.com String[] scopes = new string[] { Google.Apis.Calendar.v3.CalendarService.Scope.Calendar }; // here is where we Request the user to […]

C#Shell – IO重定向

我正在用C#编写一个替换Windows shell,我目前正在实现的function是将所有IO放在同一个shell窗口中 – 即,不在另一个窗口中打开cmd.exe。 现在,我对输出有部分解决方案。 这是我的代码(其中p是正在运行的进程): while ( !p.HasExited ) { /* … – irrelevant */ if ( redirect ) { try { p.BeginOutputReadLine(); } catch { } } } 该过程设置了所有正确的属性,例如UseShellExecute = False , RedirectStandard{Input, Output, Error} = True ,并且事件处理程序设置正确,但它不一致。 我已经尝试取出try / catch(我知道这是非常糟糕的做法),并使用繁忙的bool,当处理程序运行时设置为false,但由于某种原因,我仍然在p.BeginOutputReadLine上得到InvalidOperationException( ) – 声明已经存在异步操作。 任何帮助都会受到赞赏,即使它需要与上述解决方案完全不同的解决方案,而不仅仅是修复它。 谢谢。 编辑 :这是启动过程的代码: if (redirect) { p.StartInfo.RedirectStandardOutput = […]

.NET Core 1.0中的System.Environment

有谁知道如何在.NET Core中获取有关当前环境和平台的信息? 目前Core库中没有Environment类。

如何从usercontrol页面后面的代码中找到ListView的ItemTemplate中的控件?

实际上,我正在使用ASP.NET和C#开发一个Web模板。 我在usercontrol页面中有一个listview ,在ItemTemplate里面我有一个PlaceHolder ,如下所示: 我想从后面的代码访问这个PlaceHolder ,我使用不同的方法如下,但我无法访问它。 PlaceHolder ph_Lv_EditModule = (PlaceHolder)lv_Uc_Module.FindControl(“ph_Lv_EditModule”); 要么 PlaceHolder ph_Lv_EditModule = (PlaceHolder)this.lv_Uc_Module.FindControl(“ph_Lv_EditModule”); 你能帮我找一下如何在我的usercontrol页面后面的代码中找到这个控件。 感谢您的考虑。

奇怪的字符串文字比较

深入了解C#,我遇到了一个与对象引用相等的小问题(奇怪)。 我说我有两个字符串: String a = “Hello world!”; String b = “Bonjour le monde”; bool equals = ReferenceEquals(a, b); // ******************* (1) b = “Hello world!”; equals = ReferenceEquals(a, b); // ******************* (2) (1)是false ,这是预期的。 ReferenceEquals 文档说 ReferenceEquals比较实例 但是之后: 为什么(2)返回true ? 字符串a和b不是同一个对象是吗? 如果是,那么它们是如何变得相同的,因为我从未明确地做过a=b

C#中的只读列表

我有一些带有List -property的类: class Foo { private List myList; } 我想提供对此字段的访问权限仅供读取。 即我希望属性可以访问Enumerable,Count等,而无需访问Clear,Add,Remove等。我怎么能这样做?

将XLSM转换为XLSX

我正在使用EPPLUS库从Excel读取数据以创建另一个文件。 不幸的是,它不支持.XLSM扩展文件。 有没有一种很好的方法将.XLSM文件转换为.XLSX文件,以便用EPPLUS读取文件? (使用EPPLUS进行阅读会很好,因为我的所有代码都是用它编写的:))