在asp net mvc 5中使用Session变量进行授权

所以我的项目要求发生了变化,现在我认为我需要构建自己的动作filter。 所以,这是我当前的登录控制器: public class LoginController : Controller { // GET: Login public ActionResult Index() { return View(); } [HttpPost] [AllowAnonymous] [ValidateAntiForgeryToken] public ActionResult Login(LoginViewModel model) { string userName = AuthenticateUser(model.UserName, model.Password); if (!(String.IsNullOrEmpty(userName))) { Session[“UserName”] = userName; return View(“~/Views/Home/Default.cshtml”); } else { ModelState.AddModelError(“”, “Invalid Login”); return View(“~/Views/Home/Login.cshtml”); } } public string AuthenticateUser(string username, string password) […]

如何将数据添加到DataGridView

我有一个类似的结构 X={ID=”1″, Name=”XX”, ID=”2″, Name=”YY” }; 如何将此数据转储到两列的DataGridView gridView就像 ID | Name 我们可以使用LINQ来做到这一点。 我是DataGridView新手Pleaese帮我做这个.. 提前致谢

更改WebApi应用程序的构建输出目录

我是一个从事大型应用程序的团队的一员。 我是这个团队的新成员,正在构建一个新的应用程序。 作为此过程的一部分,我创建了一个WebApi应用程序,它将公开一些HTTP端点,通过它我将检索有关该应用程序的信息。 由于条件需要很长时间才能解释,我想让WebApi项目构建在另一个目录中,特别是..\bin\Server\Debug\因为这是应用程序构建的大部分其他部分至。 我不打扰,除了该应用程序试图使用基于工作目录找到的文件,这是我的WebApi应用程序当前错误。 我尝试在项目设置中更改它,现在我收到此错误: 到目前为止,我的谷歌搜索引起了一些帮助。 有谁知道如何解决这个问题?

在LowLevelMouseProc调用中无法使用SendInput发送新的滚动方向

我正在调用下面的代码,它适当地挂钩到WM_MOUSEWHEEL。 我遇到的问题是即使我只是向一个方向发送滚动消息(-120),滚轮也会按预期工作。 我在其中设置了断点以及ifs和预期的工作。 private delegate IntPtr LowLevelMouseProc(int nCode, IntPtr wParam, IntPtr lParam); private static IntPtr HookCallback( int nCode, IntPtr wParam, IntPtr lParam) { if (nCode >= 0 && MouseMessages.WM_MOUSEWHEEL == (MouseMessages)wParam) { MSLLHOOKSTRUCT hookStruct = (MSLLHOOKSTRUCT)Marshal.PtrToStructure(lParam, typeof(MSLLHOOKSTRUCT)); Console.WriteLine(hookStruct.mouseData); INPUT[] input; input = new INPUT[1]; input[0].type = INPUT_MOUSE; input[0].mi.dx = 0; input[0].mi.dy = 0; input[0].mi.dwFlags = […]

检测C#库中主线程的运行

我正在创建一个C#dll,它将被WinForms中的其他开发人员使用。 出于某些原因,我想检测,如果来自此库的方法是从主(GUI)线程调用并警告开发人员他已经做了这样的事情(即在日志文件中)。 有没有合理的方法来检测主线程的调用方法? 请记住,我无权访问WinForm应用程序。

在dispose之后的Reactive Rx 2.0 EventLoopScheduler ObjectDisposedException

我正在使用Rx 2.0的EventLoopScheduler来排队/序列化工作。 当我需要处理调度程序时,如果还有剩余的工作,我将收到一个未处理的ObjectDisposedException。 这是预期的行为吗? 人为/示例代码: EventLoopScheduler scheduler = new EventLoopScheduler(); List handles = new List(); for (int i = 0; i < 100; ++i) { var handle = Observable.Interval(TimeSpan.FromMilliseconds(1)) .ObserveOn(scheduler) .Subscribe(Observer.Create((x) => Thread.Sleep(1000))); handles.Add(handle); } Thread.Sleep(TimeSpan.FromSeconds(1)); foreach (var handle in handles) handle.Dispose(); scheduler.Dispose(); Console.ReadLine(); 堆栈跟踪: System.ObjectDisposedException at System.Reactive.Concurrency.EventLoopScheduler.Schedule[TState](TState state, TimeSpan dueTime, Func`3 action) at System.Reactive.Concurrency.LocalScheduler.Schedule[TState](TState […]

iTextSharp PDF打印

我正在尝试创建一个方法,将PDF文件直接发送到我的打印机(导致打印对话框出现)。 下面是我一直在研究的代码 – 大部分都在这里的论坛中找到 。 如果我使用iTextSharp创建一个新的PDF文档,它工作正常,但是当我尝试将一些JavaScript注入现有文件时,我在调用print()方法时遇到exception 对象不支持属性或方法’print’ function load() { try { var x = document.getElementById(“frame1”); x.print(); } catch (err) { } } .CS文件 using System.IO; using iTextSharp.text; using iTextSharp.text.pdf; public partial class Print : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { SetPDF(File.ReadAllBytes(“C:\\1686850.pdf”), “C:\\1686850_1.pdf”); //test files } private void SetPDF(byte[] file, string outputPath) […]

使用Viewbox缩放/拉伸在WPF中维护固定厚度线

我有一个 ,它包含一些垂直和水平 s。 我希望网格可以根据窗口大小进行扩展,并保持其宽高比,因此它包含在 。 但是,我还希望线条总是以1像素的宽度渲染,所以我使用: Line line = new Line(); line.SetValue(RenderOptions.EdgeModeProperty, EdgeMode.Aliased); // other line settings here… 这使得线条的初始外观变得理想,但是一旦开始调整窗口大小,拉伸/缩放就会开始,并且线条再次成为1和2像素厚度的混合。 有没有办法让线条总是1像素厚,还可以调整窗口/网格的大小? 更新 – 根据Clemens的建议使用路径几何 @Clemens – 感谢您突出显示线条和路径之间的渲染差异。 当我尝试使用你的例子重新编写我的代码时,我会感觉到我正在为自己挖掘更多的漏洞,并没有真正掌握整个概念(完全是我的错,不是你的,我只是WPF的新手) 。 我将添加一些截图来说明以下描述: 我正在制作一个游戏板(对于Go的游戏,以防万一有助于理解布局)。 我有一个9×9网格,我打算通过简单地将椭圆添加到特定网格单元来放置游戏块。 然而,为了绘制板上的底线,我需要在板上绘制与单元格中间相交的线(在Go中,块放置在交叉点上,而不是单元格的中间)。 很可能我采取了完全错误的方法,请随时告诉我重新开始不同的路线,而不是在当前结构中进行黑客攻击。 这就是我到目前为止的方式(由于计算坐标的方式,我以编程方式添加路径。不确定是否可以在XAML中完成): XAML: C#: int cols = 9; int rows = 9; // Draw horizontal lines for (int row = 0; row < […]

通过CLI将fstream(或等效的)从C#传递到C ++

如何将C#中的fstream或等效项通过CLI传递给非托管C ++ DLL? 粗略的应用大纲: C#应用程序从数据库中读取二进制文件 非托管C ++ dll用于“解码”此文件并返回其中包含的信息 我可以修改任何C#代码。 CLI包装器是我可以修改的C ++端的唯一部分。 我目前正在将二进制文件保存到磁盘并将其路径传递给CLI包装器,在那里它作为fstream打开。 这适用于测试目的,但由于显而易见的原因不适用于生产。 我还研究了将一个字节数组传递给DLL,但我无法找到将其转换为除了GlobalAlloc以外的其他fstream的方法,我不想使用它。 任何帮助或想法将不胜感激。 谢谢。

在.NET 4.0中等待替代?

什么是.NET 4.0中await关键字的最佳替代方案? 我有一个方法,需要在异步操作后返回一个值。 我注意到wait()方法完全阻塞了线程,从而使异步操作无效。 在释放UI线程的同时运行异步操作有哪些选择?