用于在MVC5中模拟ConfirmEmailAsync和其他UserManager方法的接口

我正在尝试对这种控制器方法进行unit testing,该方法在当前的MVC项目中开箱即用。 [AllowAnonymous] public async Task ConfirmEmail(string userId, string code) { if (userId == null || code == null) { return View(“Error”); } var result = await UserManager.ConfirmEmailAsync(userId, code); return View(result.Succeeded ? “ConfirmEmail” : “Error”); } AccountController有一个构造函数,它将ApplicationUserManager和ApplicationSignInManager作为参数,以及与私有setter匹配的属性用于测试。 但是,我无法弄清楚如何模拟ConfirmEmailAsync方法。 您可以在Identity命名空间中模拟各种接口: var store = new Mock<IUserStore>(); store.As<IUserEmailStore>() .Setup(x => x.FindByIdAsync(“username1”)) .ReturnsAsync((ApplicationUser)null); var mockManager = new ApplicationUserManager(store.Object); AccountController […]

Combobox有多个列

场景:我正在将应用程序从访问C#移动到其中一个表单(访问中),用户可以选择具有3列(ID,FirstName,LastName)的下拉列表。 一旦他们从列表中选择,ID就会显示在下拉列表中。 问题:是否可以使用combobox重新创建此function? 您能提出哪些替代方案? 编辑: alt text http://sofzh.miximages.com/c%23/www.freeimagehosting.net 下拉列表位于左上方,旁边有一个文本框,使用下拉列表最后两列的名称 编辑2: 由于多列不可行,有没有办法指定多个显示成员显示在下拉列表上? 例如:ID – FirstName LastName 目前,正在使用这些属性将员工对象添加到下拉列表中。 我尝试将显示成员设置为 cmbEmp.DisplayMember =”EmployeeID ” + “FirstName ” + “LastName”; 但事实并非如此。 我是否应该使用employee对象进行废弃,只是进行SQL调用以获取连接在一起的那些? 我试图重用一些代码(我在完成它的过程中得到了这个项目),但它可能不可行。

WriteableBitmap上的异步操作

我正在用WPF(C#)编写一个应用程序,它对一组Bitmaps进行长时间的操作。 为了使我的应用程序保持响应,我决定使用另一个线程来对位图执行操作,并在主UI线程中报告进度条的进度。 我认为BackgroundWorker会为我做任何事情,但看起来不会那么容易。 我有以下代码: public class ImageProcessor { public Collection Pictures { get; private set; } private BackgroundWorker _worker = new BackgroundWorker(); public ImageProcessor() { _worker.DoWork += DoWork; } public void DoLotsOfOperations() { _worker.RunWorkerAsync(); } private void DoWork(object sender, DoWorkEventArgs e) { // operations on Pictures collection } } 在运行时,我使用标准打开文件对话框将图像加载到Pictures集合中,然后调用DoLotsOfOperations()方法。 但是当我尝试访问单个位图的任何属性时,我得到InvalidOperationException:“调用线程无法访问该对象,因为不同的线程拥有它”。 这是真的 – 我加载了位图并在UI线程中填充了集合,我尝试在另一个线程中读取集合元素。 所以我尝试了不同的方法: […]

绑定/引用XAML WPF的方法

我有这个xaml <ControlTemplate x:Key="TitledWindowControlTemplateKey" x:Name="PART_ControlTemplate" TargetType="{x:Type l:TitledWindow}" 我的c#代码: namespace My.Windows { public partial class TitledWindow : Window { public void Test() { MessageBox.Show(“Test”); } } } 问题是我收到以下错误: 错误1 ‘ResourceDictionary’根元素需要ax:Class属性来支持XAML文件中的事件处理程序。 删除MouseEnter事件的事件处理程序,或将ax:Class属性添加到根元素。

C#WCF – 客户端/服务器 – System.OutOfMemoryexception

问题。 使用Net TCP绑定的C#WCF客户端/服务器应用程序(发布者/订阅者模式)。 客户端不断崩溃,出现OutOfMemoryException 。 当我与客户端一起运行任务管理器时,我可以看到内存使用列增加,直到应用程序崩溃。 意图是客户端的多个实例在不同的计算机上运行。 脚本 我有一个客户端/服务器应用程序。 发布者/订阅者设计模式。 在服务器端,有6个组成缓存的字典,每个字典都包含一个自定义对象作为值。 每组字典值每5秒更新一次,作为while循环的一部分。 在5秒循环结束时,将6个字典添加到datacontract对象,每个字典作为不同的数据成员。 然后,数据合同对象通过网络发送到客户端,其中还有6个字典。 然后我循环遍历每个数据协定字典,并根据值是否已存在添加或更新其客户端等效的内容。 摘要 6个字典服务器端。 数据合同中的6个可序列化词典。 6个可绑定的词典客户端。 WCF使用Net TCP Binding通过线路传输数据。 规格 C#.Net 3.5 客户端使用一个DevExpress表单和9个DX网格视图和选项卡控件。 大多数自定义对象都包含“子资产”字典。 – 我已经为这个属性使用了一个可绑定的字典,当你有几百个对象时,我想这会产生开销(虽然我不认为使用可序列化的字典会产生很大的不同,因为它们都包含相同的序列化代码) 。 双方的绑定在开始时以编程方式创建一次,并包含相同的设置(参见下文)。 NetTcpBinding netTcpBinding = new NetTcpBinding(SecurityMode.None); EndpointAddress endpointAddress = new EndpointAddress(EndpoindAddress); InstanceContext context = new InstanceContext(callbackinstance); netTcpBinding.MaxConnections = 5; netTcpBinding.MaxBufferSize = 2147483647; netTcpBinding.MaxBufferPoolSize = 2147483647; […]

certificate代码示例失败,没有volatile

下面是一个C#代码示例,它是一个破坏的Java代码的逐字翻译(已certificate破坏(即第二个线程可能无法观察到sharedValue值的变化)至少在Mac OS X 10.9,Java 1.8(64位)上),Arrandale(1插槽x 2核x 2 HT = 4个HW线程)): using System; using System.Threading; class ThreadTest { /* volatile */ private int sharedValue; private void RunAsync() { while (this.sharedValue == 0); } private bool Test() { Thread t = new Thread(this.RunAsync); t.IsBackground = true; t.Start(); Thread.Sleep(10); // Yes I’m aware the operation is not atomic […]

ASP.NET MVC网站在任何浏览器上都被重定向到本地IIS而不是IIS express

目标: 在任何浏览器上在IIS Express上本地运行ASP.NET MVC网站。 历史: 关注的项目是一个ASP.NET MVC网站,最初设置为使用启用了SSL的本地IIS。 我尝试在IIS Express上进行设置: RouteConfig.cs文件 public static void RegisterRoutes(RouteCollection routes) { routes.IgnoreRoute(“{resource}.axd/{*pathInfo}”); routes.MapRoute( name: “Default”, url: “{controller}/{action}/{id}”, defaults: new { controller = “Home”, action = “_View”, id = UrlParameter.Optional } ); } web.config中有2种重定向可能性 用于身份validation 用于error handling 问题: 虽然完成了上述设置,但站点将重定向到本地IIS( https:// localhost )而不是IIS express(例如http:// localhost / 12345或https:// localhost / 12345 )。 到目前为止尝试了什么: […]

.NET MVC自定义路由

我想知道我是否可以创建一个比控制器更高级别的路由映射。 典型的路由包括“/ controller / action / id”。 我要找的是“section / controller / action / id”或“controller / section / action / id”。 我怎样才能做到这一点?

将具有多个froms的linq查询表达式转换为扩展方法语法

我将此代码转换为扩展方法语法时遇到问题: var query = from c in _context.Customers from o in c.Orders where o.DateSent == null select new CustomerSummary { Id = c.Id, Username = c.Username, OutstandingOrderCount = c.Orders.Count }; 有任何想法吗?

Windows窗体PictureBox – 如何在窗体的某个区域中显示图像

我正在使用以下代码使用fileDialog打开并在我的一个表单中显示图像: private void btnExplorer_Click(object sender, EventArgs e) { OpenFileDialog openFileDialog1 = new OpenFileDialog(); openFileDialog1.InitialDirectory = “c:\\”; openFileDialog1.Filter = “All files (*.*)|*.*”; openFileDialog1.FilterIndex = 2; openFileDialog1.RestoreDirectory = true; if (openFileDialog1.ShowDialog() == DialogResult.OK) { try { PictureBox PictureBox1 = new PictureBox(); PictureBox1.Image = new Bitmap(openFileDialog1.FileName); // Add the new control to its parent’s controls collection this.Controls.Add(PictureBox1); } […]