问题列表 - 第17889页

从使用C++编写的桌面应用程序转换为基于Web的应用程序

我们有一个用C++编写的成熟的Windows桌面应用程序.应用程序的GUI位于Windows DLL的顶部,它完成GUI的大部分工作(它是引擎的一种).它也是用C++编写的.我们正在考虑将Windows应用程序转换为基于Web的应用程序,原因有多种.

我想避免的是必须在C++中为这个基于Web的应用程序编写CGI.也就是说,我宁愿拥有像Python或.NET语言这样的4G语言的强大功能来创建这个应用程序的基于Web的版本.

所以,问题是:鉴于我需要在后端使用C++ DLL来完成应用程序的工作,你会建议在用户的浏览器和C++ dll之间使用什么技术堆栈?我们可以假设Web服务器将是Windows.

一些选择:

  1. 在Windows DLL的顶部写一个COM层,然后可以通过.NET访问并使用ASP.NET作为UI
  2. 直接从.NET访问导出DLL接口,并使用ASP.NET作为UI.
  3. 编写一个包装Windows DLL的自定义Python库,以便可以编写其余的代码.
  4. 使用C++和基于C++的MVC框架(如Wt)编写CGI

关注:

  • 如果可以避免的话,我宁愿不使用C++作为Web框架 - 我认为像Python和C#这样的语言在开发时间方面更加强大和高效.
  • 我担心我的混合托管和非托管代码与.NET解决方案之一,我要求许多难以调试的小问题(纯粹的轶事证据)
  • 使用Python层也是如此.任何稍微偏离常规路线的东西都让我担心,因为如果这是一个可行的长期解决方案,我没有太多证据.

c# c++ python dll web-based

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

如何通过jquery/javascript在<head>中添加任何内容?

使用CMS,这会阻止编辑<head>元素的HTML源代码.

例如,我想在<title>标记上方添加以下内容:

<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE7" />
Run Code Online (Sandbox Code Playgroud)

javascript css xhtml jquery

94
推荐指数
7
解决办法
21万
查看次数

Web服务器和servlet容器之间的区别

"Web服务器"和"A Servlet容器"有什么区别?
一般来说,所有Web服务器Servlet(Web)容器也是如此,反之亦然?

我一直在使用Apache Tomcat for JSP和Apache for PHP但是无法弄清楚这两者之间的确切区别,究竟有什么区别呢?

我尝试搜索以前的线程,但找不到多少.

谢谢!:-)

php jsp servlets

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

Django模板中的嵌套块

master我的Django应用程序中的模板如下所示:

{% block parent %}
    Some text...
    {% block child %}
        Default content here...
    {% endblock child %}
    ...some more text
{% endblock parent %}
Run Code Online (Sandbox Code Playgroud)

现在,应该以child更改块的方式覆盖此模板:

{% extends "master.html" %}

{% block child %}
    New content here...
{% endblock child%}
Run Code Online (Sandbox Code Playgroud)

但是,渲染保持不变(在此处打​​印"默认内容...").我是否遗漏了一些明显的东西或嵌套的块不可能?(或者,违反DRY原则,我是否要重新定义parent块?)

编辑:我正在使用Django 1.1,如果这很重要.

django templates nested django-templates

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

C#嵌套类的序列化

我想序列化一个对象.我有这个基本的类结构:

class Controller
{        
    Clock clock;        

    public event EventHandler<ClockChangedEventArgs> ClockChanged;    

    public void serializeProperties() 
    {
        using (FileStream stream = new FileStream(PROPERTIES_FILE, FileMode.Append, FileAccess.Write, FileShare.Write))
        {
            IFormatter formatter = new BinaryFormatter();
            try
            {
                formatter.Serialize(stream, clock);
            }
            catch (Exception e)
            {
                Console.WriteLine(e.Message);
            }
        }
    }

    public void deserializeProperties()
    {
        using (FileStream stream = new FileStream(PROPERTIES_FILE, FileMode.OpenOrCreate, FileAccess.Read, FileShare.Read))
        {
            IFormatter formatter = new BinaryFormatter();
            try
            {
                clock = (Clock)formatter.Deserialize(stream);
            }
            catch (Exception e)
            {
                Console.WriteLine(e.Message);
                clock = new Clock();
            }
            finally
            {
                clock.ClockChanged …
Run Code Online (Sandbox Code Playgroud)

.net c# serialization

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

将java转换为c#.net

可能重复:
将java转换为c#代码的工具

我在java中完成了一个项目,我想将其转换为C#.Net.我正在使用Visual Studio 2008.如何将代码从Java转换为C#?有没有可用的工具?

c# java

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

将变量写入文件,包括名称

假设我在一个小应用程序中有以下字典.

dict = {'one': 1, 'two': 2}
Run Code Online (Sandbox Code Playgroud)

如果我想将具有dict名称和所有内容的确切代码行写入文件,该怎么办?python中有一个函数可以让我这样做吗?或者我是否必须先将其转换为字符串?转换它不是问题,但也许有一种更简单的方法.

我不需要将它转换为字符串的方法,我可以做.但如果有一个内置函数可以为我做这个,我想知道.

为了说清楚,我想写的文件是:

write_to_file("dict = {'one': 1, 'two': 2}")
Run Code Online (Sandbox Code Playgroud)

python

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

无效与单位相对应

我想了解这两个编程概念之间的区别.第一个表示缺少数据类型,后者表示存在类型,但没有信息.另外,我认识到Unit来自函数式编程理论基础,但我仍然无法理解单元原语的可用性是什么(例如,在F#程序中).

f# functional-programming void unit-type

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

__toString问题

我正在构建一个小的MVC系统(学习),我在视图文件中显示变量时遇到了一些问题.

这来自我的View类:

private $vars = array();

    public function __set($key, $value)
    {
        $this->vars[$key] = $value;
    }


    public function __get($key)
    {
        return $this->vars[$key];
    }

    public function __toString()
    {
        return $this->vars[$key];
    }

    public function show($file)
    {
        global $router;
        $folder = strtolower($router->current_controller);

        $path = VIEWPATH.$folder.'/'.$file.'.phtml';
        if ( ! file_exists($path))
        {
            die("Template: $file, not found");
        }
        include ($path);
    }
Run Code Online (Sandbox Code Playgroud)

这是来自我的控制器:

$test = new View();
$test->name = 'karl';
$test->show('name_view'); 
Run Code Online (Sandbox Code Playgroud)

和视图文件(name_view)

echo $name // doesn't work
echo $this->name // Works
Run Code Online (Sandbox Code Playgroud)

我究竟做错了什么?也许我想要做一些全球化的事情?

THX/Tobias

编辑:我刚刚在包含视图文件之前在视图类中提取了vars数组,然后它工作了..谢谢大家的帮助.

php tostring magic-methods

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

如何避免程序的多个实例?

我需要找到一种正确的方法来阻止我的(Python)程序的两个运行实例.我目前正在使用以下方法.

在Windows上,

os.popen('wmic process get caption,processid | findstr `programname.exe`')
Run Code Online (Sandbox Code Playgroud)

在Linux上,

os.popen('ps x | grep `programname`')
Run Code Online (Sandbox Code Playgroud)

它似乎现在工作正常.这种方法是否正确?有人可以向我建议一个更好的方法吗?

编辑:感谢回复家伙,上述方法有什么问题吗?我尝试了linux的pid文件方式.如果pid文件以某种方式被删除怎么办?

python instance

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