小编Pra*_*V J的帖子

在弹出窗口中获取IOC容器

我在WPF应用程序中使用PRISM 5.而在我的应用程序壳牌观点有两个区域,为A和区域应该安放A包含一个弹出考虑它(PRISM 5交互功能是用来显示弹出式).

当我在视图的构造函数中创建弹出视图模型的实例时,应用程序正在工作.

工作代码

public PopupView()
{
    InitializeComponent();
    this.DataContext = new PopupViewModel(); // Working code
}
Run Code Online (Sandbox Code Playgroud)

但是当我尝试使用依赖注入创建视图模型实例时.应用程序InitializeComponent();在父视图(视图A)上失败 .

DI不工作代码

public PopupView(PopupViewModel viewModel)
{
    InitializeComponent(); // Failing in AView initialze
                           // before reaching here

    this.DataContext = viewModel;
}
Run Code Online (Sandbox Code Playgroud)

在module/bootstrapper中查看模型注册

container.RegisterType<AViewModel>();
Run Code Online (Sandbox Code Playgroud)

发生了错误

NULLReference发生异常

Stacktrace(编辑问题)

at System.DefaultBinder.BindToMethod(BindingFlags bindingAttr, MethodBase[] match, Object[]& args, ParameterModifier[] modifiers, CultureInfo cultureInfo, String[] names, Object& state)
   at MS.Internal.Xaml.Runtime.DynamicMethodRuntime.CreateInstanceWithCtor(Type type, Object[] args)
   at MS.Internal.Xaml.Runtime.ClrObjectRuntime.CreateInstance(XamlType xamlType, Object[] args)
   at MS.Internal.Xaml.Runtime.PartialTrustTolerantRuntime.CreateInstance(XamlType xamlType, Object[] args)
   at System.Xaml.XamlObjectWriter.Logic_CreateAndAssignToParentStart(ObjectWriterContext ctx)
   at …
Run Code Online (Sandbox Code Playgroud)

c# wpf prism unity-container prism-5

14
推荐指数
1
解决办法
939
查看次数

如何确保无差距和安全的发票编号生成(法律问题)

背景和系统视图

我们在分布式环境中实施了计费系统.有4个终端每个终端每分钟产生大约2张票据.我们使用Mysql作为后端和C#,winforms作为我们的客户端技术.

任何计费系统中最重要的约束是发票号必须是连续的.为此,我运行类似的查询

在伪代码中

let x ="SELECT count(*) from Orders where IsInvoiceGenerated=1 and FinancialYear=val

new invoicenum = x + 1;
Run Code Online (Sandbox Code Playgroud)

问题 一切都运行正常,直到411发票,之后系统突然跳过2张发票并生成发票414.我们调查了系统状态,发现系统没有外部篡改,我们还推断没有人从工作台访问数据库.这是一个重大问题,因为它也有法律后果.

能否请您建议确保帐单号始终保持顺序的最佳方法.

c# mysql concurrency

5
推荐指数
1
解决办法
2656
查看次数

标签 统计

c# ×2

concurrency ×1

mysql ×1

prism ×1

prism-5 ×1

unity-container ×1

wpf ×1