Tag: .net

在2个.NET程序集中使用相同名称和命名空间的类型

出于好奇,我创建了两个程序集,它们都有一个类( Class1 ),具有完全相同的命名空间( Library1 )。 然后,我创建另一个引用这2个程序集的客户端,并尝试创建Class1的实例。 毫不奇怪,编译器给出了关于模糊引用的编译错误。 有没有办法明确指定我想要使用的程序集中的类型以避免歧义? 注意:我很少知道,如果有的话,在实践中发生。 这只是一个关于语言特征的好奇心的问题。

ASP.NET MVC角色和安全性

假设这是我的SampleController动作方法 public ActionResult AdminView() { return View() } 如果要登录的用户属于admin角色,则需要调用此控制器方法,否则应该阻止此方法调用,并且用户应该获得一些自定义的未经授权的访问错误页面。 在我的asp .net mvc Web应用程序中,当用户登录时,我将用户角色作为字符串存储在会话中。 每当需要validation用户角色时,我会将会话中存储的值与常量“ADMIN_ROLE”进行比较。 但是我正在编写这段代码来检查几乎每个控制器操作方法中的用户角色,然后为用户返回适当的视图,或者如果用户角色限制为控制器操作方法,则返回未授权的访问页面视图。 我用谷歌搜索并读到我们可以使用这样的东西。 [Authorize(Roles=”admin”)] public ActionResult AdminView() { return View() } 但我不确定Authorize和Roles关键字的工作原理。 如果角色与为操作方法标记的角色不匹配,那么在设置Roles =“Admin”时,如何帮助检查存储在会话中的用户角色字符串,或者如何将用户重定向到未授权的页面。

对象和集合初始化器 – 分配自己?

我正在程序中使用对象和集合初始化程序,并思考如何获取下面的示例。 Orders.Add(new Order() { id = 123, date = new datetime(2012,03,26) items = new OrderItems() { lineid = 1, quantity = 3, order = ?? // want to assign to current order. } } 如何将新创建的订单分配给订单商品?

Windows窗体中的圆形RadioButton列表

我使用jquery 插件和html在Web应用程序中设计了循环按钮列表。 在这个设计用户中,一次只选择单选按钮列表。 设计如下: 如何在Windows窗体中实现相同的设计和function? 请帮助我,从我开始实现这一目标。

每个托管线程都有自己的相应本机线程吗?

我想知道在.Net中创建托管线程(通过调用Thread.Start() )是否会导致在后台创建一个本机线程? 那么托管线程是否有相应的本机线程? 如果是,当托管线程等待或hibernate时,是否意味着相应的本机线程也在等待或hibernate?

如何用反斜杠替换正斜杠

我有一个字符串/Images/Me.jpg我想用这个\Images\Me.jpg替换正斜杠和反斜杠\Images\Me.jpg使用string.Replace(“/”,“\”); 但输出是\\Images\\Me.jpg请帮忙

在c#中的东西函数实现

我需要知道c#是否有任何函数等于sql函数的stuff ,它根据给定的开始和长度将输入字符串替换为原始字符串。 编辑添加样本: select stuff(‘sad’,1,1’b’) select stuff(original string, start point, length,input string) 输出会”bad”.

如何从.NET Core库引用Windows.winmd?

我希望从.NET Core库中使用Windows运行时类型,如Frame或Button 。 当我使用传统的PCL(针对Windows / Windows Phone 8.1)时,它似乎工作正常。 但是,出于某种原因,在我将项目切换到DNX之后,它没有编译。 这是我的project.json : { “frameworks”: { // Profile32 == Windows + Windows Phone 8.1 “.NETPortable,Version=v4.6,Profile=Profile32”: { } } } 这是我的示例代码: using System.Linq; using Windows.UI.Xaml.Controls; public class Sample { public void Method() { Enumerable.Empty(); } } 我在此片段中的Frame上遇到编译器错误,说无法找到该类型。 所以,我做了一些关于这方面的侦探工作,并在我的常规PCL上点击了F12,看看它的声明组件。 事实certificate,我想要的大多数Windows运行时类型都存在于一个名为Windows.winmd程序集中,该程序集位于Program Files中。 我很想知道,有什么办法可以从.NET Core库中引用这个程序集吗? 谢谢! (请注意,我不能只使用常规PCL,因为我有特定于.NET Core的需求。) meta:顺便说一下,请不要从这个问题中删除asp.net-core标签,因为这与DNX有关。 编辑:我刚试过这个: “.NETPortable,Version=v4.6,Profile=Profile32”: […]

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. });

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 = […]