问题列表 - 第14198页

是否可以在管理面板中限制模型的对象创建?

我只想知道是否可以在管理面板中限制模型的对象数量?

例如,我有一个名为'Homepage'的模型,在管理面板中,我不希望用户可以创建多个主页实例.

有没有办法可以做到这一点?

django django-models

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

520
推荐指数
10
解决办法
39万
查看次数

设置标准流使用的内部缓冲区(pubsetbuf)

我正在编写一个需要将数据写入现有缓冲区的子程序,我想使用stringstream该类来简化数据的格式化.

最初,我使用以下代码将流的内容复制到缓冲区,但是希望避免这种解决方案,因为它复制了太多数据.

#include <sstream>
#include <algorithm>

void FillBuffer(char* buffer, unsigned int size)
{
    std::stringstream message;
    message << "Hello" << std::endl;
    message << "World!" << std::endl;

    std::string messageText(message.str());
    std::copy(messageText.begin(), messageText.end(), buffer);
}
Run Code Online (Sandbox Code Playgroud)

这是我发现streambuf::pubsetbuf()方法的时候,简单地重写上面的代码如下.

#include <sstream>

void FillBuffer(char* buffer, unsigned int size)
{
    std::stringstream message;
    message.rdbuf()->pubsetbuf(buffer, size);

    message << "Hello" << std::endl;
    message << "World!" << std::endl;
}
Run Code Online (Sandbox Code Playgroud)

不幸的是,这在Visual Studio 2008附带的C++标准库实现下不起作用; buffer保持不变.

我看了一下它的实现,pubsetbuf结果发现它实际上"什么都不做".

virtual _Myt *__CLR_OR_THIS_CALL setbuf(_Elem *, streamsize)
{   // offer buffer to external …
Run Code Online (Sandbox Code Playgroud)

c++ stream visual-c++

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

Public Overrides Function GetBytes()As Byte()已过时

诗人试图说什么?

公共覆盖函数GetBytes()As Byte()已过时:Rfc2898DeriveBytes替换PasswordDeriveBytes以从密码中派生密钥材料,并且在新应用程序中是首选.

我应该更换这个......

Dim keyBytes As Byte()
keyBytes = password.GetBytes(keySize / 8)
Run Code Online (Sandbox Code Playgroud)

...什么?

security cryptography rijndael obsolete rfc2898

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

设计:当域对象和服务对象之间的界限不明确时

这个问题的核心是一个设计问题.我将使用Java/Java EE示例来说明问题.

考虑一个使用JPA构建的Web邮件应用程序,用于服务层的持久性和EJB.假设我们的EJB中有一个服务方法,如下所示:

public void incomingMail(String destination, Message message) {
    Mailbox mb = findMailBox(destination); // who cares how this works
    mb.addMessage(message);
}
Run Code Online (Sandbox Code Playgroud)

这似乎是一种合理的商业方法.据推测,邮箱对象仍将被附加,它将无缝地将更改保存回数据库.毕竟,这是透明持久性的承诺.

邮箱对象将具有此方法:

public void addMessage(Message message) {
    messages.add(message);
}
Run Code Online (Sandbox Code Playgroud)

这里变得复杂 - 假设我们想要其他邮箱类型.假设我们有一个自动响应发件人的AutoRespondingMailbox,以及一个HelpDeskMailbox,它会在收到每封电子邮件时自动打开一个帮助台票证.

自然要做的是扩展Mailbox,其中AutoRespondingMailbox具有以下方法:

public void addMessage(Message message) {
    String response = getAutoResponse();
    // do something magic here to send the response automatically
}
Run Code Online (Sandbox Code Playgroud)

问题是我们的Maibox对象及其子类是"域对象"(在本例中,也是JPA实体).Hibernate人(以及许多其他人)宣扬非依赖域模型 - 即不依赖于容器/运行时提供的服务的域模型.这种模型的问题是AutoRespndingMailbox.addMessage()方法无法发送电子邮件,因为它无法访问,例如,JavaMail.

HelpDeskMailbox会出现完全相同的问题,因为它无法访问WebServices或JNDI注入以与HelpDesk系统进行通信.

因此,您不得不将此功能放在服务层中,如下所示:

public void incomingMail(String destination, Message message) {
    Mailbox mb = findMailBox(destination); // who cares how this works
    if (mb instanceof …
Run Code Online (Sandbox Code Playgroud)

java oop domain-driven-design

7
推荐指数
2
解决办法
741
查看次数

什么更紧凑,GET或POST?

POST是否比GET更紧凑,因为GET请求必须是URL编码的?

post webserver data-transfer get http

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

有没有办法让Windows shell脚本执行相对于其位置的所有内容而不是从中调用的位置?

我知道%~dp0,它代表包含批处理脚本的完全展开的目录,但我正在寻找的是:

  • 一种从Perl调用批处理脚本的方法,允许我在不修改的情况下使用批处理脚本,并使其中的所有目录与批处理脚本位置相关
  • 我可以在批处理脚本中放入一个语句,该脚本是一个标志,用于将批处理脚本的位置作为所有目录的起点

我目前正在Perl中使用此方法调用批处理脚本:

`"../run.bat" -f $ARGV[$#ARGV]`;
Run Code Online (Sandbox Code Playgroud)

然后捕获输出并对其进行处理.

windows perl batch-file

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

在C#中制作图形饼图

我正在尝试编写一个Windows应用程序,它显示一个饼图,其中包含七个不相等的切片(25%,20%,18%,17%,10%,10%,10%),所有这些切片的颜色都不同.

到目前为止,我已经制作了带有颜色的钢笔和画笔,并画了一个圆圈.

这就是我到目前为止所拥有的

private void Form1_Paint(object sender, PaintEventArgs e)
    {
        this.BackColor = Color.White;
        this.Text = "Pie Chart";
        this.Width = 350;
        this.Height = 350;

        Pen black = new Pen(Color.Black);
        Pen blue = new Pen(Color.Blue);
        Pen green = new Pen(Color.Green);
        Pen red = new Pen(Color.Red);
        Pen orange = new Pen(Color.Orange);
        Pen pink = new Pen(Color.Pink);
        Pen purple = new Pen(Color.Purple);
        Pen magenta = new Pen(Color.Purple);
        Brush brBlue = blue.Brush;
        Brush brGreen = green.Brush;
        Brush brRed = red.Brush;
        Brush brOrange = orange.Brush;
        Brush …
Run Code Online (Sandbox Code Playgroud)

c# graphics slice pie-chart

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

什么是发现为什么在我的C++应用程序中创建线程以及它们的作用的最佳方法?

我正在审核在Windows上运行的C++应用程序,针对多线程调试DLL进行编译.它有很多可以产生线程的第三方依赖项.我需要跟踪每个线程为什么存在以及分配多少堆栈空间.

什么是追溯到线程创建开始的好方法,以便我可以看到它产生的位置?

更新:我应该指出我拥有Microsoft依赖项之外的整个应用程序的源代码.但是,很多线程都有独立存在于操作系统附带的库中的callstacks,如ntdll.dll和kernel32.dll.

c++ windows debugging multithreading

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

数据读取器不兼容...成员在数据读取器中没有相应的列

使用VS 2008,SQL Server 2008和WPF 3.5,我对模式进行了一些更改并更新了模型.它编译并运行正常,直到客户端应用程序调用特定实体,我得到以下(实际名称替换):

The data reader is incompatible with the specified '<Model>.<ViewBasedEntity>'. A member of the type, '<Property>', does not have a corresponding column in the data reader with the same name.
Run Code Online (Sandbox Code Playgroud)

我在服务应用程序中搜索了相关的实体和属性名称,尝试在表格地图中重命名属性,似乎是其他一些报告相同的错误,但似乎无法找到及时答案... .

...有没有人知道如何追踪这一点,如果有的话,是否有一个修复或方法可以遵循以避免将来?

wpf entity model sql-server-2008 visual-studio-2008

10
推荐指数
3
解决办法
3万
查看次数