问题列表 - 第36748页

为什么我的代码使用List包中的monadic列表这么慢?

上周,用户Masse问了一个关于递归列出 Haskell目录中文件问题.我的第一个想法是尝试使用List包中的 monadic列表,以避免在打印开始之前在内存中构建整个列表.我实现如下:

module Main where

import Prelude hiding (filter) 
import Control.Applicative ((<$>))
import Control.Monad (join)
import Control.Monad.IO.Class (liftIO)
import Control.Monad.ListT (ListT)
import Data.List.Class (cons, execute, filter, fromList, mapL)
import System (getArgs)
import System.Directory (getDirectoryContents, doesDirectoryExist)
import System.FilePath ((</>))

main = execute . mapL putStrLn . listFiles =<< head <$> getArgs

listFiles :: FilePath -> ListT IO FilePath
listFiles path = liftIO (doesDirectoryExist path) >>= listIfDir
  where
    valid "."  = False
    valid ".." …
Run Code Online (Sandbox Code Playgroud)

monads haskell list monad-transformers

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

为什么在首次请求启用ASP.Net的WCF服务时HttpContext.Current为null?

我有一些由IIS托管的WCF服务,并且打开了ASP.Net兼容性.

我在web.config中有以下内容:

<serviceHostingEnvironment aspNetCompatibilityEnabled ="true"/>

我的服务类装饰如下:

[AspNetCompatibilityRequirements(RequirementsMode = AspNetCompatibilityRequirementsMode.Required)]

出于某种奇怪的原因,在Web应用程序启动后,第一个请求的HttpContext.Current为null.对于后续请求,HttpContext.Current不为null.

有没有人知道为什么它不适用于第一个请求?

对HttpContext.Current的调用来自我编写的自定义UserNamePasswordValidator类,用于检查存储在数据库中的信用.

wcf

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

如何设置.NET客户端Web服务ClientRuntime.MaxFaultSize

我正在调用一个java webservice,它返回一个包含错误列表的FaultException类型.因此响应消息大小总是很大.

在我的c#(clr3.5)客户端中,我收到以下错误

"已超出传入邮件的最大邮件大小限额(65536).要增加配额,请在相应的绑定元素上使用MaxReceivedMessageSize属性."

我相信解决这个问题的方法是设置ClientRuntime.MaxFaultSize msdn-doc

有没有办法在app.config中执行此操作?

c# wcf wcf-client

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

如何自动调整DockPanel中的TabControl大小 - WPF

我有一个简单的WPF Forms应用程序.我有一个DockPanel作为我的根面板.第一个子节点是StackPanel,其中包含一些控件,然后第二个控件是TabControl.我想要的,面板类型可以改变他们想要的只是TabControl保持窗口的填充大小,除了第一个StackPanel消耗的内容.然而无论我尝试什么,TabControl似乎都会改变它的大小,这取决于它里面的内容,而不是内部的内容.

<Window>
    <DockPanel>
        <StackPanel> </StackPanel>
        <TabControl> </TabControl>
    </DockPanel>
</Window>
Run Code Online (Sandbox Code Playgroud)

.net c# wpf wpf-controls

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

在webapp模式下,移动Safari中的视口META标记是否已损坏?

在使用Safari的iPad上,请访问此页面:http: //ifelse.org/projects/errors/viewport/test.html

这是来源:

<html>
    <head>
        <title>Viewport Test</title>
        <meta name="apple-mobile-web-app-capable" content="yes" />
        <meta name="apple-mobile-web-app-status-bar-style" content="black" />
        <meta name="viewport" content="width=1030" />
        <style>
            body {
                padding: 0;
                margin: 0;
            }
            #test {
                width:  1024px;
                height: 500px;
                border: 3px solid #ccc;
            }
        </style>
    </head>
    <body>
        <div id="test">
            <p>This is 1024 with a 3px border, so device width is 1030.</p>
            <p>Works when viewing in Mobile Safari.</p>
            <p>Does not work if you Bookmark it to the Home Screen and open from there.</p>
            <p>Compare <a …
Run Code Online (Sandbox Code Playgroud)

html viewport meta-tags ipad

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

无法添加服务参考

我已经开始学习WCF了。我编写了一个简单的服务来通过 LINQ 查询 SQL 关系。

[ServiceContract]
[AspNetCompatibilityRequirements(RequirementsMode = aspNetCompatibilityRequirementsMode.Allowed)]
public class Order_WCFService 
   {

    [OperationContract]    
    public List<Order> getOrders()
    {
        List<Order> orderList= null;

        try
        {
            orderList= DAL.GetList<Order>();
            return orderList;
        }
        catch (Exception)
        {
            throw;
        }
    }     
}
Run Code Online (Sandbox Code Playgroud)

它位于 ASP.NET-MVC 项目中。

我有一个简单的 silverlight 应用程序。它位于同一解决方案中,但位于不同的项目中。

我想通过 silverlight 应用程序使用我的服务。

我尝试“添加服务引用...”,在左侧栏中,我列出了所有可用的 ASMX 和 WCF 服务。当我单击任何服务时,它会尝试下载服务信息,但在 10-20 秒后失败:“尝试在...查找服务时发生错误(详细信息)”

我在这里做错了什么?

谢谢

我 100% 确定服务正常运行,因为我可以通过 AJAX 调用它们。

c# silverlight wcf web-services

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

使用批处理文件检查服务器是否已启动?

我需要检查服务器是否启动?如果失败然后我需要发送电子邮件这个任务应该每隔30分钟重复一次.

我必须使用批处理文件.

windows batch-file scheduled-tasks

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

使用PHP安全使用动态HTML样式表?

我读过关于允许使用PHP的预处理器的动态HTML样式表的技术,但是我想知道这个tecnique是多么安全,如果出于任何原因它不鼓励.

例如,而不是使用典型的:

 <link rel="stylesheet" type="text/css" href="http:mysite.com/style.css/>
Run Code Online (Sandbox Code Playgroud)

我可以用:

 <link rel="stylesheet" type="text/css" href="http:mysite.com/style.php/>
Run Code Online (Sandbox Code Playgroud)

你怎么看?

html css php

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

Python垃圾收集可以那么慢吗?

我的python应用程序有问题,我认为它与python垃圾收集有关,即使我不确定...

问题是我的应用程序需要花费大量时间退出并切换到下一个功能.

在我的应用程序中,我处理非常大的字典,包含数千个大型对象,这些对象是从包装的C++类中实例化的.

我在程序中放了一些时间戳输出,我看到在每个函数结束时,当函数内部创建的对象超出范围时,解释器在调用下一个函数之前花费了大量时间.并且我在应用程序结束时观察到同样的问题,程序应该退出:在屏幕上的最后一个时间戳和新提示的外观之间花费了很多时间(〜小时!).

内存使用情况稳定,所以我真的没有内存泄漏.

有什么建议?

可以成千上万的大型C++对象的垃圾收集速度慢吗?

有没有办法加快这个?

更新:

非常感谢您的所有答案,您给了我很多调试我的代码的提示:-)

我在Scientific Linux 5上使用Python 2.6.5,这是一个基于Red Hat Enterprise 5的自定义发行版.实际上,我并没有使用SWIG为我们的C++代码获取Python绑定,而是使用Reflex/PyROOT框架.我知道,它在粒子物理学之外并不是很有名(但仍然是开源的,可以免费获得),我必须使用它,因为它是我们主要框架的默认值.

在这种情况下,来自Python端的DEL命令不起作用,我已经尝试过了.DEL只删除链接到C++对象的python变量,而不是内存中的对象本身,它仍然由C++端拥有...

......我知道,这不是标准我猜,有点复杂,对不起:-P

但是按照你的提示,我会描述我的代码,我会按照你的建议给你回复更多细节.

额外更新:

好的,按照你的建议,我用我的代码检测cProfile,我发现实际上gc.collect()功能是占用大部分运行时间的功能!

这里是cProfile+ pstats print_stats()的输出:


    >>> p.sort_stats("time").print_stats(20)
Wed Oct 20 17:46:02 2010    mainProgram.profile

         547303 function calls (542629 primitive calls) in 548.060 CPU seconds

   Ordered by: internal time
   List reduced from 727 to 20 due to restriction 

   ncalls  tottime  percall  cumtime  percall filename:lineno(function)
        4  345.701   86.425  345.704   86.426 {gc.collect}
        1  167.115  167.115  200.946  200.946 PlotD3PD_v3.2.py:2041(PlotSamplesBranches)
       28 …

python performance garbage-collection root

15
推荐指数
2
解决办法
8818
查看次数

std :: find vs.从矢量派生模板

我在编程中经常使用向量,并且通常遍历一个现有值的向量,我使用std :: find,如下所示:

std::vector<int> foo;
std::vector<int>::iterator pos( std::find( foo.begin(), foo.end(), bar );
Run Code Online (Sandbox Code Playgroud)

这是一个真正的问题.所以我从std :: vector派生了一个模板来提供一个find方法:

template<class T>
class foovector : public std::vector<T>
{
public:
    typename std::vector<T>::iterator find( const T& value )
    {
        return std::find( this->begin(), this->end(), value );
    }
};
Run Code Online (Sandbox Code Playgroud)

所以现在我可以更自然地找到它:

foovector<int> foo;
foovector<int>::iterator pos( foo.find( bar ) );
Run Code Online (Sandbox Code Playgroud)

我的问题是,这似乎是向量的一个自然而明显的扩展,那么为什么它不是STL的一部分甚至是提升?我觉得我在这里错过了一些奥术知识.

c++ stl find

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