使用ASP.NET Identity 2.0,您如何检查当前登录的用户是否在角色中?我正在使用以下内容,但想知道是否有更高效的东西.
var um = new UserManager<ApplicationUser>(new UserStore<ApplicationUser>(new DbContext()));
var au = um.FindByEmail(Context.User.Identity.GetUserName());
var inrole = um.IsInRole(au.Id, "Admin");
if (inrole)
{
}
Run Code Online (Sandbox Code Playgroud) 我正在尝试实现一个ReadAllLinesAsync使用异步功能调用的方法.我已经生成了以下代码:
private static async Task<IEnumerable<string>> FileReadAllLinesAsync(string path)
{
using (var reader = new StreamReader(path))
{
while ((await reader.ReadLineAsync()) != null)
{
}
}
return null;
}
private static void Main()
{
Button buttonLoad = new Button { Text = "Load File" };
buttonLoad.Click += async delegate
{
await FileReadAllLinesAsync("test.txt"); //100mb file!
MessageBox.Show("Complete!");
};
Form mainForm = new Form();
mainForm.Controls.Add(buttonLoad);
Application.Run(mainForm);
}
Run Code Online (Sandbox Code Playgroud)
我希望列出的代码能够异步运行,事实上,确实如此!但只有在没有 Visual Studio Debugger的情况下运行代码时.
当我附加Visual Studio Debugger 运行代码时,代码同步运行,阻塞主线程导致UI挂起.
我尝试并成功地在三台机器上重现了这个问题.每个测试都是使用Visual Studio 2012在64位计算机(Windows 8或Windows …
我正在做一个项目,我需要使用VB6.我正在努力完成一些基本任务,部分原因是(我认为)缺少文档,部分原因是我通常使用基于C语法的语言.
当我在C#中定义一个数组时,它通常如下:
string[] s = {"a", "b", "c", "d" };
Run Code Online (Sandbox Code Playgroud)
我想在VB6中这样做.
但是在VB6中,我一直这样做:
Dim s(0 To 3) As String
s(0) = "a"
s(1) = "b"
s(2) = "c"
s(3) = "d"
Run Code Online (Sandbox Code Playgroud)
有没有比上面举例说明的更有效的方法在VB6中定义数组?一种类似于C#方法的方法?
我是在c#中使用Code First的新手.在我的项目中启用迁移并启动我的网站后,出现错误:
Method 'ExecuteAsync' in type 'System.Data.Entity.SqlServer.DefaultSqlExecutionStrategy' from assembly 'EntityFramework.SqlServer, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089' does not have an implementation.
Run Code Online (Sandbox Code Playgroud)
我已经定义了上下文类,如下所示.
namespace MyOA.Migration.Contexts
{
public class OADBContext : DbContext
{
public OADBContext() { }
}
}
Run Code Online (Sandbox Code Playgroud)
我尝试在Global.asax中创建数据库,如下所示.
protected void Application_Start()
{
// Forces initialization of database on model changes.
using (var context = new Migration.Contexts.OADBContext())
{
context.Database.Initialize(force: true);
}
}
Run Code Online (Sandbox Code Playgroud)
我试图搜索原因但不知道.有什么建议?提前致谢.
我一直在做一些Android开发,发现Ctrl + Shift + O快捷方式对于像我这样仍然习惯于屏幕上不同对象所需的导入的人来说非常方便.我也一直在Visual Studio 2008中进行vb.net开发,并且错误地尝试了这种快捷方式,但它尝试打开一个表单或类似的东西.所以我的问题是:是否有一个快捷方式允许我们导入所有缺少的引用或删除Visual Studio 2008中不必要的引用?
我要编写C#代码来检查C,D,E ......(Windows磁盘驱动器)是否存在?最后找到客户端窗口中存在哪个驱动器,复制我的文件.
我想编写类似于以下逻辑的代码:
If ( !Exist(Drive "C:\" ) )
{
If ( !Exist(Drive "D:\" ) )
{
If ( !Exist(Drive "E:\" ) )
{
...
search to fined existence drive
copy file to a path of that existence drive
}
}
}
Run Code Online (Sandbox Code Playgroud) 我需要获取网络上所有计算机的列表
网络分为两个本地网络.管理网络和教育网络,然后在每个管理和教育网络下,每个校园都有子网.因此,每个校园都有一个管理员和一个教育域控制器.
我可以在每个子网的命令提示符下运行"net view"来获取所有计算机的列表,但我希望能够在一台服务器上运行它,或者如果我需要两台服务器(一台用于管理网络)和一个教育网络)
我知道像nmap这样的应用程序可以做到这一点,但我希望能够使用像"net view"这样的内置窗口功能,或者自己编写一些东西.
其他详细信息:我有一个程序(由以前的开发人员编写)作为后台服务运行,并在每台计算机上启动弹出窗口并在启动火警时播放.mp3文件.我希望得到这个程序,并使用PsExec启动弹出窗口并播放消息,而不是在每台计算机上安装该服务.我有PsExec工作,但需要获得所有计算机的列表.
最初在 Visual Studio 2012 中打开一个项目,现在在 Visual Studio 2010 中打开它时出现此错误:
Reference.svcmap:无法加载文件或程序集“工具,版本=4.5.0.0,文化=中性,PublicKeyToken=f7660c0f5438cda5”或其依赖项之一。该系统找不到指定的文件。
在 2012 年再次打开它也提示同样的错误,我的项目是 3.5 版。我不知道为什么它要求 4.5?