除非javascript确认对话框返回true,否则我无法弄清楚如何创建不执行valueAccessor的knockout click绑定.
它可能看起来像这样:
<a data-bind="confirmClick: { message: 'Are you sure?', click: someMethod }">Confirmable link</a>
Run Code Online (Sandbox Code Playgroud)
在内部,confirmClick绑定会执行以下操作:
if (confirm(message)) {
click();
}
Run Code Online (Sandbox Code Playgroud)
我知道我可以通过将confirm(...)代码放在我的viewModel中来解决这个问题,但这似乎不适合放置那种代码.我可能还可以使用jQueryUI或Bootstrap进行这种确认对话,但我想要一些我可以放入任何项目的东西.
我没有运气地搜索互联网.我甚至查看了淘汰赛点击事件的源代码(https://github.com/knockout/knockout/blob/master/src/binding/defaultBindings/event.js),但它看起来并不友好......
任何帮助都将非常感谢!
我刚刚升级到最新版本的WebEssentials v3,我的ASP MVC 4项目中的TS文件不再编译为JS了.我验证了选项- >文本编辑器- >打字稿- >项目- >自动编译打字稿文件,这是一个项目的一部分,被选中的选项,但是当我保存或编译我的项目没有任何反应.我已经尝试删除WE2创建的现有.js和.min.js文件,但这没有帮助.我尝试将新的TS文件添加到我的项目中,但没有生成JS文件.我重新安装了TS 0.9.1.1,但没有帮助.
Sooooo该怎么办?我错过了一些明显的东西吗 有些东西不起作用或者我只是抱错了吗?
我需要回到WE2吗?
更新:我甚至创建了一个全新的ASP MVC 4 C#项目,以验证它不仅仅是我原来的项目,但我得到了相同的结果.
有趣的是,我刚创建了一个新的TypeScript项目,我的TS文件在保存时正确编译...所以这很有趣..
我发现如果我将用户添加到ASP身份中的角色,它会在我退出并重新登录之后才会生效.我是否需要做一些事情来刷新用户的角色而不强迫用户登录先关掉?
以下是我将用户添加到角色的方式.
var userManager = new UserManager<ApplicationUser>(new UserStore<ApplicationUser>(new ApplicationDbContext()));
var userId = HttpContext.Current.User.Identity.GetUserId();
userManager.AddToRole(userId, roleName);
Run Code Online (Sandbox Code Playgroud)
然后,几乎立即,我将用户重定向到此操作方法.我可以在数据库中告诉我已经添加到正确的角色,但MVC仍然将我重定向到登录页面.但是,如果我退出,重新登录,并尝试转到此操作方法,它可以正常工作.
[Authorize(Roles = RecoveryStandardRoles.ServiceProvider)]
public partial class CertifyController : Controller
{
#region Public Methods and Operators
public virtual ActionResult CompanyProfile()
{
return this.View();
}
#endregion
}
Run Code Online (Sandbox Code Playgroud)
感谢您花时间看我的问题!
有人可以帮我弄清楚Azure SDK v2.4中CloudConfigurationManager的位置吗?
v2.3 SDK中的CloudConfigurationManager位于:C:\ Program Files\Microsoft SDKs\Windows Azure.NET SDK\v2.3\ref\Microsoft.WindowsAzure.Configuration.dll
2.4 SDK位于C:\ Program Files\Microsoft SDKs\Azure.NET SDK\v2.4
并且该目录中没有这样的Microsoft.WindowsAzure.Configuration.dll ..
MSDN仍在Microsoft.WindowsAzure.Configuration.dl中显示CloudConfigurationManager:http://msdn.microsoft.com/en-us/library/azure/microsoft.windowsazure.cloudconfigurationmanager.aspx
所以我可以让我的项目编译的唯一方法是,如果我现在安装了2.3和2.4 SDK.
我们有一个用C ++编写的库。为了使其与我们更现代的.NET项目更加兼容,我们将此C ++库包装在另一个.NET项目中。从完整的.NET Framework项目(4.5、4.6等)中引用它时,它工作正常。
我正在使用.NET Core 2.1创建一个新应用程序,并且试图引用此“ .NET C ++库”。在我的第一次尝试中,它失败说无法加载程序集。我通过安装.NET Core SDK x86并强制我的应用程序使用x86(而不是任何CPU)来解决此问题。
我没有任何构建错误,但是当我尝试实例化该库中的类时,出现以下异常:
<CrtImplementationDetails>.ModuleLoadException: The C++ module failed to load.
---> System.EntryPointNotFoundException: A library name must be specified in a DllImport attribute applied to non-IJW methods.
at _getFiberPtrId()
at <CrtImplementationDetails>.LanguageSupport._Initialize(LanguageSupport* )
at <CrtImplementationDetails>.LanguageSupport.Initialize(LanguageSupport* )
--- End of inner exception stack trace ---
at <CrtImplementationDetails>.ThrowModuleLoadException(String errorMessage, Exception innerException)
at <CrtImplementationDetails>.LanguageSupport.Initialize(LanguageSupport* )
at .cctor()
Run Code Online (Sandbox Code Playgroud)
.NET Core 2.1完全支持这种情况吗?
我需要将两个父>子表集中的数据合并/合并到第三个父>子表中.
表格如下所示:

这三组表的唯一区别是TableC有一TableType列可以帮助识别TableA记录和TableB记录之间的差异.
我的第一个想法是使用游标..这是创建表结构,插入一些记录,然后将数据合并在一起的代码.它工作得非常好,sooooo ....
--Create the tables
CREATE TABLE TableA
(
ID int not null identity primary key,
Name VARCHAR(30)
);
CREATE TABLE TableAChild
(
ID int not null identity primary key,
Parent int not null,
Name VARCHAR(30),
CONSTRAINT FK_A FOREIGN KEY (Parent) REFERENCES TableA(ID)
);
CREATE TABLE TableB
(
ID int not null identity primary key,
Name VARCHAR(30)
);
CREATE TABLE TableBChild
(
ID int not null identity primary key,
Parent int not null,
Name VARCHAR(30), …Run Code Online (Sandbox Code Playgroud) 我不知道如何在使用奥尔良的测试代码和奥尔良之外的测试代码之间共享我的服务注册。我花了几天时间试图解决这个问题。
我的单元测试有自己的 ServiceCollection,我在其中注册了我的应用程序所需的服务。在我的实验中,我注册了一个单例 ( Something)。
我现在将 Orleans 的 TestClusterBuilder 添加到我的单元测试中。根据文档,我需要AddSiloBuilderConfigurator...。
如何避免Something重复注册?这感觉就像是先有鸡还是先有蛋的情况。更糟糕的是,注入到我的grain中的单例与注册到的Something单例不同。Somethingapp
这似乎只是我的单元测试中的一个问题。在主应用程序代码中,没有TestClusterBuilder,DI 按预期工作。
我的代码看起来像这样:
[SetUp]
public void Setup()
{
var webApplicationBuilder = WebApplication.CreateBuilder();
webApplicationBuilder.Host.UseServiceProviderFactory(new AutofacServiceProviderFactory())
.ConfigureContainer<ContainerBuilder>(c =>
{
c.RegisterType<Something>().AsSelf().SingleInstance();
});
var app = webApplicationBuilder.Build();
var testClusterBuilder = new TestClusterBuilder(1);
testClusterBuilder.AddSiloBuilderConfigurator<TestSiloConfigurations>();
TestCluster = testClusterBuilder.Build();
TestCluster.Deploy();
}
public class TestSiloConfigurations : ISiloConfigurator
{
public void Configure(ISiloBuilder siloBuilder)
{
siloBuilder.ConfigureServices(services =>
{
services.AddSingleton<Something>();
});
}
}
Run Code Online (Sandbox Code Playgroud)
根据记录,我们使用的是 Autofac,但我认为这在这里并不重要。
例如,WCF通道(通过ChannelFactory创建)如何实现ICommunicationObject,但不公开Close()方法,除非您将代理转换为ICommunicationObject?那有意义吗?
我在今天回家的路上想到了这一点,无法在脑海中弄明白.也许我问的是错误的问题?也许我问一个愚蠢的问题?:)
这是一种忍者伎俩吗?
在ASP Identity v2之前,您可以这样做..
var context = new ApplicationDbContext();
var role = context.Users.FirstOrDefault().Roles.Single(p => p.Role.Name == "Some role name");
Run Code Online (Sandbox Code Playgroud)
一旦我升级到Identity v2,我的应用程序中的这样的行就停止了编译.IdentityUserRole上不再有Role属性,因此要查找"Administrators"角色中的所有用户并不容易.
我知道还有其他方法可以在一个角色中找到用户,但我的需求是不同的.这是一个简化的示例,但我需要构建一个具有特定角色信息的特定用户列表,如下所示:
var data = context.Users.Select(p => new
{
Administrator = p.Roles.Any(role => role.Role.Name == "Administrator"),
ServiceProvider = p.Roles.Any(role => role.Role.Name == "ServiceProvider"),
Lender = p.Roles.Any(role => role.Role.Name == "Lender"),
Inspector = p.Roles.Any(role => role.Role.Name == "Inspector")
});
Run Code Online (Sandbox Code Playgroud)
使用Identity v2似乎不再可能进行此类查询.
升级到Windows 10 build 9860后,最新的Visual Studio 14预览开始在启动时显示此错误:
"Microsoft.VisualStudio.Editor.Implementation.EditorPackage"包未正确加载.

当您尝试在闪亮的新IDE中执行任何操作时,事情没有变得更好.例如,以下是创建新C#控制台项目时发生的情况:
Object of type 'System.Collections.Generic.List'1[System.Lazy'1+Boxed[Microsoft.VisualSstudio.Text.IExtensionErrorHandler]]' cannot be converted to type 'System.Collections.Generic.List'1[System.Lazy'1[Microsoft.Text.IExtensionErrorHandler]]'.
Run Code Online (Sandbox Code Playgroud)

我不会在这里问一个问题,直到我今天看到它发生在多台机器上.一旦我再现它,我认为值得发布在这里......
c# ×2
.net ×1
.net-7.0 ×1
.net-8.0 ×1
.net-core ×1
asp.net-core ×1
asp.net-mvc ×1
azure ×1
c++ ×1
confirm ×1
cursor ×1
implements ×1
interface ×1
javascript ×1
knockout.js ×1
orleans ×1
sql ×1
sql-server ×1
typescript ×1
wcf ×1