问题列表 - 第3433页

PHP中的$ str ==''和strlen($ str)== 0之间有区别吗?

正如标题所说:PHP中的$ str ==''和strlen($ str)== 0之间有区别吗?有没有真正的速度差异,并且比另一个更好用?

php strlen

6
推荐指数
4
解决办法
3929
查看次数

如何修复Firefox试图"将图像另存为".htm?

我们最近在我们的网站上实施了Amazon S3,这使我们改变了处理图像的方式.我们曾经调用一个控制器/fotos.php,它将从磁盘读取文件,记录一些统计信息,设置标题并将文件内容作为image/jpeg返回.

一切顺利,直到S3.Fotos.php现在执行302重定向到亚马逊的资源,一切都很好,但是你无法在Firefox中保存图像,因为它将文件类型设置为.htm.我发现了这个问题,这似乎是Firefox中的一个错误:

https://bugs.launchpad.net/ubuntu/+source/firefox-3.0/+bug/207670

这是一个显示问题的URL(尝试保存大图像):

http://www.viajeros.com/fotos/el-gran-lago-de-atitlan-y-sus-volcanes/132968

Internet Explorer 6至少尝试将其另存为Untitled.BMP.

以下是我们在fotos.php中使用的代码片段:

$archivo = $fotos->ObtenerPathFotoAmazon( $url, null );

if (empty($_GET['nocache'])) {
    header('HTTP/1.0 302 Found');
    header("Expires: ".gmdate("D, d M Y H:i:s", time()+315360000)." GMT");
    header("Cache-Control: max-age=315360000");
} else {
    header('HTTP/1.0 307 Temporary Redirect');
}

header('Location: ' . AWS_BUCKET_URL . $archivo);
die;

你知道一个解决方法吗?

编辑:我们也在使用CloudFront.

php firefox redirect mime-types

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

如何判断WPF窗口是否已关闭?

我正在开发一个显示一些子窗口的应用程序,这些窗口可以由用户关闭或自动关闭.在调试一些被抛出的异常时,我发现我试图调用Hide()已经关闭的窗口上的方法; 这个特殊的代码分支在两种情况下都很常见,我没有注意到这一点.

我的第一个想法之一是寻找一个Window可以表明窗户已经关闭的房产.我好像找不到一个.在WinForms中,我会查看IsDisposed属性,以获得表格已关闭的可靠指示(它不能可靠地用于对话框,但我不使用对话框.)我没有看到任何等效的内容Window.该文档Window.Close()似乎并未表明该方法更改的任何属性.我错过了一些明显的东西,或者是唯一一种知道窗口是否已关闭以处理Closed事件的方法?这对于简单的任务来说似乎是一种苛刻的要求.

wpf

54
推荐指数
6
解决办法
4万
查看次数

在FileSystemWatcher中处理多个更改事件

我有以下子:

  Private Sub Watcher_Changed(ByVal sender As System.Object, ByVal e As FileSystemEventArgs)
        If Path.GetExtension(e.Name) = ".p2p" Then
            Exit Sub
        Else
            Try
                ' multiple change events can be thrown. Check that file hasn't already been moved.
                While Not File.Exists(e.FullPath)
                    Exit Try
                End While

                ' throw further processing to a BackGroundWorker
                ChangedFullPath = e.FullPath
                ChangedFileName = e.Name

                FileMover = New BackgroundWorker
                AddHandler FileMover.DoWork, New DoWorkEventHandler(AddressOf ProcessFile)
                FileMover.RunWorkerAsync()
            Catch ex As Exception
                MessageBox.Show(ex.Message)
            End Try

        End If
    End Sub
Run Code Online (Sandbox Code Playgroud)

当FTP上传文件时,我仍然收到多个更改文件通知.

我想修改Try,所以它也会抛出更改通知,如果它发生在过去(时间) - 让我们说3秒.它应该是微不足道的,但由于某种原因它今天不会来找我,我的思想并没有围绕我在Google上找到的答案.

谢谢,斯科特

vb.net filesystemwatcher

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

帮助ActiveRecord异常"无法懒惰地初始化集合 - 没有会话"

我正在使用Castle ActiveRecord编写一个Web应用程序,每当我尝试访问延迟加载的相关对象列表时,我都会收到此异常.这是我的代码:

        using(new SessionScope())
        {
            foreach (var field in eventObj.RegistrationFields)
            {
                //Do something with the field here...
            }
        }
Run Code Online (Sandbox Code Playgroud)

RegistrationFields属性如下所示:

    [HasMany(Inverse = true, Lazy = true)]
    public IList<EventRegistrationField> RegistrationFields { get; set; }
Run Code Online (Sandbox Code Playgroud)

当"eventObj.RegistrationFields"为foreach循环被访问时,发生异常.我也做了一定要设置isweb ="true"属性在我的ActiveRecord的配置设置.有谁知道为什么会这样?这是我的配置:

<connectionStrings>
  <add name="main" connectionString="Data Source=localhost\SQLEXPRESS;Initial Catalog=EventScheduler;Integrated Security=SSPI"/>
</connectionStrings>
<activerecord isWeb="true">
  <config>
    <add key="hibernate.connection.driver_class" value="NHibernate.Driver.SqlClientDriver"/>
    <add key="hibernate.dialect" value="NHibernate.Dialect.MsSql2005Dialect"/>
    <add key="hibernate.connection.provider" value="NHibernate.Connection.DriverConnectionProvider"/>
    <add key="hibernate.connection.connection_string_name" value="main"/>
  </config>
</activerecord>
Run Code Online (Sandbox Code Playgroud)

castle-activerecord lazy-loading

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

创建RESTful复杂查询的最佳方法是什么?

从REST服务检索复杂查询的最佳方法是什么?

假设我想X集合,应用过滤器和方程各一个,使用一些其他操作相结合的藏品和一个请求返回一个结果,应有尽有.

这是太复杂(大)把一切都在查询字符串,因为我可以结合300件多套(加上运营商和过滤器各一个).

我想过使用POST发送描述查询到像一个XML对象:

http://mydomain/collections/complexQuery
Run Code Online (Sandbox Code Playgroud)

它将返回一个唯一的ID,然后我可以使用GET来检索complexQuery结果:

http://mydomain/collections/complexQuery/{queryId}
Run Code Online (Sandbox Code Playgroud)

杰森S:

这就是主意.POST将采用查询的XML表示,其中"where"参数已经存在(它们可能太多).只有在GET到达时才会执行查询.我可以让查询对象可用一段时间并稍后删除它.

这是一个好的解决方案吗?我还在RESTful吗?

rest web-services

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

我们应该总是支持多态性而不是枚举吗?

看完之后:清洁代码会谈 - 继承,多态和测试

我检查了我的代码并注意到一些switch语句可以重构为多态,但我也注意到我只使用带枚举的switch语句.这是否意味着枚举在OO设计中是"邪恶的",应该用多态性消除?

oop polymorphism enums

22
推荐指数
4
解决办法
5271
查看次数

WPF ListView非活动选择颜色

我正在创建一个WPF应用程序,其中连续生成多个ListView选项(类似于iTunes浏览器).问题是默认的非活动选择颜色太浅.(见下文) 默认非活动选择颜色(太亮)

如何更改此颜色,以便我的非活动列表视图如下所示?(见下文) 非活动和主动选择颜色相同

使用Style类似的方法覆盖默认的SystemColor :

<Style TargetType="ListViewItem">
    <Style.Resources>
        <SolidColorBrush x:Key="{x:Static SystemColors.ControlBrushKey}" Color="{x:Static SystemColors.HighlightColor}"/>
    </Style.Resources>
</Style>
Run Code Online (Sandbox Code Playgroud)

wpf listview selection

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

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

使用@synthesize覆盖Objective-C中的属性访问者名称

我正在尝试找到有关如何使用@synthesize覆盖Objective-C中的属性名称的文档.如果我有一个实例变量名称'foo',我想把它的访问者写成'bar'.

做某事如

@synthesize foo = bar;
Run Code Online (Sandbox Code Playgroud)

给出编译时错误.

objective-c

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