小编joh*_*son的帖子

实体框架4 - winform应用程序中的生命周期/上下文范围

很抱歉还有关于EF4上下文生命周期的另一个问题,但我一直想知道这一点,我似乎没有找到答案.我不是很熟悉很多模式或过于复杂的东西(在我看来),所以我想保持简单.

我使用ASP.NET应用程序,其中上下文由每个http请求管理,在我看来这是一个非常好的方法.

但是我现在正在使用winforms应用程序,如果我只是为每个查询创建上下文,我有时会遇到效果不佳的事务或报告.并不是说这个性能问题是一个非常有问题的事情,我只想听听ASP.NET中针对winforms的HTTP请求是否有一个简单的策略?

entity-framework winforms

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

如何在Qt/C++/QML中实现类似WPF的MVVM?

我正在编写一个概念验证应用程序,这非常简单.基本上它由一个UI组成,其中"Note"类型对象列表显示在QML ListView中.

然后,我有几个类,这是类似的东西:

#ifndef NOTE_H
#define NOTE_H

#include <string>

using namespace std;
class Note
{
public:
    Note(QObject* parent = 0)
        : QObject(parent)
    {

    }

    Note(const int id, const string& text)
        : _id(id), _text(text)
    {
    }

    int id()
    {
        return _id;
    }

    const string text()
    {
        return _text;
    }

    void setText(string newText)
    {
        _text = newText;
    }

private:
    int _id;
    string _text;
};

#endif // NOTE_H
Run Code Online (Sandbox Code Playgroud)

然后一个存储库:

class NoteRepository : public Repository<Note>
{
public:
    NoteRepository();
    ~NoteRepository();

    virtual shared_ptr<Note> getOne(const int id); …
Run Code Online (Sandbox Code Playgroud)

wpf qt mvvm qml

11
推荐指数
1
解决办法
1万
查看次数

部署使用Entity Framework Core的WPF应用程序

我想构建一个使用实体框架核心的WPF应用程序,以便我可以处理SQLite数据库.

然后,我会执行以下操作,例如:

  • 使用Visual Studio 2017(15.5.2),创建一个WPF应用程序.
  • 打开nuget包管理器并安装Microsoft.EntityFrameworkCore.SqliteMicrosoft.EntityFrameworkCore.Tools.
  • 将一个按钮拖放到我的上面MainWindow.xaml并为事件添加一个事件处理程序Click,使得xaml看起来像:
<Window x:Class="WPFEFCoreDeploymentTest.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        Title="MainWindow" Height="350" Width="525">
    <Grid>
        <Button Click="ButtonBase_OnClick"></Button>
    </Grid>
</Window>
Run Code Online (Sandbox Code Playgroud)
  • 将以下代码放到代码隐藏文件中 MainWindow.xaml.cs
namespace WPFEFCoreDeploymentTest
{
    using System.Linq;
    using System.Windows;
    using Microsoft.EntityFrameworkCore;

    public partial class MainWindow
    {
        public MainWindow()
        {
            InitializeComponent();
        }

        private void ButtonBase_OnClick(object sender, RoutedEventArgs e)
        {
            using (var context = new SomeContext())
            {
                if (context.Database.GetPendingMigrations().Any())
                {
                    context.Database.Migrate();
                }
            }
        }
    }

    public class SomeContext : DbContext
    {
        public DbSet<Test> Tests { …
Run Code Online (Sandbox Code Playgroud)

.net c# wpf entity-framework-core .net-core

10
推荐指数
1
解决办法
2790
查看次数

发布JSON和python Flask - 使用Werkzeug调试器的任何技术?

好吧,我正在使用我的项目的RESTful后端,并通过jquery提交数据.

我必须说werkzeug调试器非常适合调试,特别是当你是一个像我这样可怕的python程序员时.您出于意图调查异常,并使用调试器呈现的html检查代码和变量.

但是,当您发送post请求而不是get时,如果在后端代码上抛出异常,当然浏览器将不会呈现响应文本.

有什么技术可以用来呈现响应文本,考虑到它有javascript和一切吗?

我正在尝试不同的事情,例如尝试将响应文本注入弹出窗口,例如:

           $.postJSON = function(url, data, callback, error_callback) {
                return jQuery.ajax({
                    'type': 'POST',
                    'url': url,
                    'contentType': 'application/json',
                    'data': JSON.stringify(data),
                    'dataType': 'json',
                    'success': callback,
                    'error': error_callback
                });
            };

            $.postJSON('/the_uri', {'foo': 'bar'}, 
            function(response) {
                var a = 0;
            }, 
            function(response) {
                var html = response.responseText;
                var my_window = window.open('', 'mywindow1', 'width=350,height=150');
                $(my_window.document).find('html').html(html);
            });
        });
Run Code Online (Sandbox Code Playgroud)

但这不会很好地处理JavaScript.

有没有人有任何建议?

python debugging werkzeug flask

9
推荐指数
1
解决办法
2412
查看次数

nginx + uwsgi + flask - 禁用自定义错误页面

是否可以禁用nginx的自定义错误页面 - 如果我可以调用它们 - 来显示我的框架的异常页面?

我无法真正看到我在wtml中呈现的werkzeug调试工具...

UPDATE

好吧,我必须制作一个非常简单的烧瓶应用程序才能工作,我将发布这些内容:

/home/my_user/.virtualenvs/nginx-test/etc/nginx.conf

worker_processes 1;
events { worker_connections 1024; }
http {
        server {
                listen 5000;
                server_name localhost;
                access_log /home/my_user/.virtualenvs/nginx-test/lib/nginx/access.log;
                error_log /home/my_user/.virtualenvs/nginx-test/lib/nginx/error.log;

                location / {
                        include uwsgi_params;
                        uwsgi_pass unix:/tmp/uwsgi.sock;
                }
        }
}
Run Code Online (Sandbox Code Playgroud)

/home/my_user/dev/nginx_test/___init___.py

from flask import Flask

app = Flask(__name__)

@app.route('/')
def index():
    raise Exception()

if __name__ == '__main__':
    app.run('0.0.0.0', debug=True)
Run Code Online (Sandbox Code Playgroud)

PYTHONPATH环境变量:

$ echo $PYTHONPATH
/home/my_user/dev/
Run Code Online (Sandbox Code Playgroud)

我如何运行uwsgi:

$ uwsgi -s /tmp/uwsgi.sock --module nginx_test --callable app
Run Code Online (Sandbox Code Playgroud)

我如何运行nginx:

$ nginx -c ~/.virtualenvs/nginx-test/etc/nginx.conf -p ~/.virtualenvs/nginx-test/lib/nginx/
Run Code Online (Sandbox Code Playgroud)

如果我点击根页面:

服务器错误

如果我手动运行nginx,如: …

python nginx werkzeug flask uwsgi

9
推荐指数
2
解决办法
7038
查看次数

如何在新的Windows 8.1商店应用程序上使用SQLite(Visual Studio 2013)

所以,我在Windows 8.1机器上安装了Visual Studio 2013.我想试验它并创建一个新的Windows应用商店网格应用.我想在SQLite数据库上保留数据,显然是WinRT应用程序的首选数据库.

快速找到所需的vsix链接,以便能够使用SDK:SQLite下载页面,并下载sqlite-winrt81-3080002.vsix.

安装它,然后在我的项目中,添加对新安装的SDK的引用(右键单击引用,添加引用,导航到Windows,选择扩展并勾选SQLite for Windows Runtime(Windows 8.1)复选框.

还很快发现它不能在任何CPU上编译.在Configuration Manager上,选择了Debug,x64活动平台,这使我能够编译应用程序.

最后,在尝试使用命名空间时,SQLite我注意到VS 2013没有识别它.尝试了很多东西,例如直接添加对.dll的引用,探索组件以查看哪些命名空间可用(哪些没有显示任何内容),而且我很快就没有想法了.因为它有点新鲜,并且利益有限,谷歌,救世主,今天不想救我.

那么,如何在针对Windows Runtime 8.1的Visual Studio 2013项目中使用SQLite SDK呢?

这些是我的csproj文件的内容

更新 愚蠢的我,以为在地铁风格的土地上没有管理的土地(.net).很抱歉造成任何混淆.

c# sqlite managed visual-studio-2013 windows-8.1

8
推荐指数
1
解决办法
2万
查看次数

EventSourceException异常泛滥调试会话并减慢进程.怎么修?

从Windows 7升级到Windows 10并从附带调试器的Visual Studio 2013 Update 5运行我的WPF应用程序后,我遇到了这种情况.

在运行一些基本的图像处理操作时,调试输出开始被EventSourceException: No Free Buffers available from the operating system (e.g. event rate too fast)消息淹没,导致被调试的进程显着减慢.

在没有安装Visual Studio的调试器的情况下运行该过程的行为正常.

当我用Google搜索时,我在网上找不到太多信息.它与EFW(Windows的事件跟踪)有关,我不知道它是什么.

代码库不小,所以很难跟踪异常的来源,因为要求Visual Studio停止所有异常并不会实际停止在此异常源上.

有谁可以帮助摆脱这个例外?

UPDATE

我使用Resharper Ultimate 2016.1.卸载DotTrace后我意识到卸载了一些ETW服务.但卸载Resharper并没有帮助,问题仍然存在.

c# wpf resharper visual-studio-2013

6
推荐指数
1
解决办法
1287
查看次数

在mono xsp上托管asp.net - raspberry pi

我正在尝试在我的Raspberry Pi(运行arch linux)上运行xsp包附带的示例应用程序,但不幸的是,在将任何http响应发送到浏览器之前,显然连接已关闭.我在chrome上收到"NO DATA RECEIVED"消息.

然而,xsp只输出"Application_Start"而没有其他任何事情发生(除了chrome没有收到数据)

这是我做的:

$ xsp2
xsp2
Listening on address: 0.0.0.0
Root directory: /srv/http/test
Listening on port: 8080 (non-secure)
Hit Return to stop the server.
Application_Start
Run Code Online (Sandbox Code Playgroud)

Chrome的输出:

No data received
Unable to load the webpage because the server sent no data.
Here are some suggestions:
Reload this webpage later.
Error 324 (net::ERR_EMPTY_RESPONSE): The server closed the connection without sending any data.
Run Code Online (Sandbox Code Playgroud)

当然在我的Linux PC机上运行正常.

如果有人得到任何见解,而不是我试图从我的35美元的董事会中拿走太多,请告诉我?

asp.net mono arm xsp raspberry-pi

4
推荐指数
1
解决办法
3947
查看次数

获取 WPF 路径中所有点的像素位置

假设您在画布上绘制了贝塞尔样条线,如下所示:

<Canvas x:Name="SomeCanvas" Width="50" Height="50" Background="Black">
    <Path x:Name="SomePath" Data="M0,0C10,10 10,50 50,10" Stroke="Yellow" StrokeThickness="1"/>
</Canvas>
Run Code Online (Sandbox Code Playgroud)

您如何确定画布中的哪些像素与路径中心相交(意味着忽略笔划粗细)?

.net wpf bezier canvas

4
推荐指数
1
解决办法
1000
查看次数

准备工作单元上的多个EF上下文 - TransactionScope

我正在考虑实现处理多个数据源的单个工作单元的选项 - 实体框架.我想出了一个尝试性的方法 - 现在处理一个单一的背景 - 但它显然不是一个好主意.

如果我们要分析下面的代码,你会认为这是一个糟糕的实现吗?交易范围的生命周期是否存在潜在问题?

当然,如果我们用不同的上下文包装事务范围,如果第二个context.SaveChanges()失败,我们将被覆盖...

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.Transactions;

    namespace ConsoleApplication2
    {
        class Program
        {
            static void Main(string[] args)
            {
                using(UnitOfWork unitOfWork = new UnitOfWork())
                {

                    var repository = new EmployeeRepository(unitOfWork);

                    var employee = repository.CreateOrGetEmployee("Whatever Name");

                    Console.Write(employee.Id);

                    unitOfWork.SaveChanges();
                }
            }
        }

        class UnitOfWork : IDisposable
        {
            TestEntities _context;
            TransactionScope _scope;
            public UnitOfWork()
            {
                _scope = new TransactionScope();
                _context = new TestEntities();
            }

            public void SaveChanges()
            {
                _context.SaveChanges();
                _scope.Complete();
            }

            public …
Run Code Online (Sandbox Code Playgroud)

entity-framework transactions transactionscope unit-of-work

3
推荐指数
1
解决办法
6066
查看次数