问题列表 - 第27654页

即使对象不为null,也会出现对象引用错误

我有一个应用程序,其中我已经为登录屏幕添加了"记住我"功能.我通过在用户第一次登录时创建cookie来实现此目的,因此下次当用户访问该站点时,我会获取cookie并加载用户信息.

我编写了用于在App_Code文件夹中的公共类中加载用户信息的代码...并且我的所有页面都继承自此类.

加载用户信息的代码如下:

public static void LoadUserDetails(string emailId)
{
    UsersEnt currentUser = UsersBL.LoadUserInfo(emailId);

    if (currentUser != null)
        HttpContext.Current.Session["CurrentUser"] = currentUser;
}
Run Code Online (Sandbox Code Playgroud)

现在的问题是,当我尝试将currentUser对象存储在会话变量中时,我得到一个"对象引用"错误(即使currentUser对象不为null).但是,currentUser对象中的password属性为null.

我是因为这个而得到错误......还是有其他原因?

谢谢

c# asp.net session

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

覆盖纯虚函数的参数数量

我已经实现了以下界面:

template <typename T>
class Variable
{
public:
  Variable (T v) : m_value (v) {}
  virtual void Callback () = 0;
private:
  T m_value;
};
Run Code Online (Sandbox Code Playgroud)

一个适当的派生类将定义如下:

class Derived : public Variable<int>
{
public:
  Derived (int v) : Variable<int> (v) {}
  void Callback () {}
};
Run Code Online (Sandbox Code Playgroud)

但是,我想派生Callback接受不同参数的类(例如:void Callback (int a, int b)).有没有办法做到这一点?

c++ virtual overloading interface

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

CSV实际上是....分号分隔值...(在AZERTY上Excel导出)

我在这里有点困惑.

当我使用Excel 2003将工作表导出为CSV时,它实际上使用分号...

Col1;Col2;Col3
shfdh;dfhdsfhd;fdhsdfh
dgsgsd;hdfhd;hdsfhdfsh
Run Code Online (Sandbox Code Playgroud)

现在,当我使用Microsoft驱动程序读取csv时,它会使用逗号并将列表视为一个大列???

我怀疑Excel是用分号导出的,因为我有一个AZERTY键盘.但是,CSV读取器是否还必须考虑不同的分隔符?

我怎样才能知道合适的分隔符,和/或正确读取csv?

    public static DataSet ReadCsv(string fileName)
    {
        DataSet ds = new DataSet();
        string pathName = System.IO.Path.GetDirectoryName(fileName);
        string file = System.IO.Path.GetFileName(fileName);
        OleDbConnection excelConnection = new OleDbConnection
        (@"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + pathName + ";Extended Properties=Text;");
        try
        {
            OleDbCommand excelCommand = new OleDbCommand(@"SELECT * FROM " + file, excelConnection);
            OleDbDataAdapter excelAdapter = new OleDbDataAdapter(excelCommand);
            excelConnection.Open();
            excelAdapter.Fill(ds);
        }
        catch (Exception exc)
        {
            throw exc;
        }
        finally 
        {
            if(excelConnection.State != ConnectionState.Closed )
                excelConnection.Close();
        }
        return ds;
    } 
Run Code Online (Sandbox Code Playgroud)

.net c# csv excel

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

Shift + Tab在TreeView控件中不起作用

我无法使用Shift + Tab在包含TextBox的TreeView中工作,使用Tab正向导航工作正常并从TreeBox中的TextBox跳转到TextBox.任何时候使用Shift + Tab时,TreeView中的一个TextBox,然后焦点移动到TreeView外部的前一个控件,而不是TreeView中的前一个控件.

此外,它唯一的Shift + Tab导航无法正常工作,Ctrl + Shift + Tab按预期工作并按正确的顺序工作.

对我做错了什么的建议?

示例代码:

<Window x:Class="TestTabTreeView.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">

<Window.Resources>
    <Style TargetType="TreeViewItem">
        <Setter Property="KeyboardNavigation.TabNavigation" Value="Continue" />
    </Style>
</Window.Resources>

<Grid>
    <Grid.RowDefinitions>
        <RowDefinition Height="Auto" />
        <RowDefinition Height="*" />
        <RowDefinition Height="Auto" />
    </Grid.RowDefinitions>

    <TextBox Text="First Line" Grid.Row="0" />

    <TreeView Grid.Row="1" KeyboardNavigation.TabNavigation="Continue" IsTabStop="False">           
        <TreeViewItem IsExpanded="True"><TreeViewItem.Header><TextBox Text="Popular Words"/></TreeViewItem.Header>
            <TreeViewItem><TreeViewItem.Header><TextBox Text="Foo"/></TreeViewItem.Header></TreeViewItem>
            <TreeViewItem><TreeViewItem.Header><TextBox Text="Bar"/></TreeViewItem.Header></TreeViewItem>
            <TreeViewItem><TreeViewItem.Header><TextBox Text="Hello"/></TreeViewItem.Header></TreeViewItem>
        </TreeViewItem>
        <TreeViewItem IsExpanded="True"><TreeViewItem.Header><TextBox Text="Unpopular Words"/></TreeViewItem.Header>
            <TreeViewItem><TreeViewItem.Header><TextBox Text="Work"/></TreeViewItem.Header></TreeViewItem>
            <TreeViewItem><TreeViewItem.Header><TextBox Text="Duplication"/></TreeViewItem.Header></TreeViewItem>
        </TreeViewItem>
    </TreeView>

    <TextBox Text="Last Line" Grid.Row="2" />
</Grid>
Run Code Online (Sandbox Code Playgroud)

c# navigation wpf treeview

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

Python App Engine上的GWT

我有一个python应用程序引擎代码(成熟的后端) - 我们现在计划为该代码设置一个前端.

我想知道是否有可能将GWT作为前端实现.

虽然Alex Martelli在这篇文章[1]中提到它是不可能的,但对该帖子的评论表明,确实可以使用rpc而不是json来实现GWT.

我无法理解这是如何可能的.在app.yaml文件中,我们必须指定语言为python,对吧?在这种情况下,如何基于JAVA编译GWT?任何人都这样做有什么例子吗?

有人可以帮我吗?这将非常有帮助.

[1]:在Google App Engine 链接上选择Java与Python

python gwt google-app-engine rpc json

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

Qt 中的 Mac OS X 链接器错误;CoreGraphics 和 CGWindowListCreate

这是我的 .mm 文件

#include "windowmanagerutils.h"

#ifdef Q_OS_MAC
#import </System/Library/Frameworks/ApplicationServices.framework/Frameworks/CoreGraphics.framework/Headers/CGWindow.h>

QRect WindowManagerUtils::getWindowRect(WId windowId)
{
    CFArrayRef windows = CGWindowListCreate(kCGWindowListOptionOnScreenOnly, kCGNullWindowID);
    return QRect();
}

QRect WindowManagerUtils::getClientRect(WId windowId)
{
    return QRect();
}

QString WindowManagerUtils::getWindowText(WId windowId)
{
    return QString();
}

WId WindowManagerUtils::rootWindow()
{
    QApplication::desktop()->winId();
}

WId WindowManagerUtils::windowFromPoint(const QPoint &p, WId parent, bool(*filterFunction)(WId))
{
    return NULL;
}

void WindowManagerUtils::setTopMostCarbon(const QWidget *const window, bool topMost)
{
    if (!window)
    {
        return;
    }

    // Find a Cocoa equivalent for this Carbon function
    // [DllImport("/System/Library/Frameworks/Carbon.framework/Versions/Current/Carbon")]
    // OSStatus ret = HIViewSetZOrder(this->winId(), …
Run Code Online (Sandbox Code Playgroud)

c++ macos qt objective-c objective-c++

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

string.Equals(c#)的culture参数何时实际产生影响的示例?

我不完全理解string.Equals的第二个参数,这是因为我找不到任何实际会产生影响的例子.例如,这里给出的示例是相同的,无论第二个参数的值如何(除了IgnoreCase):http: //msdn.microsoft.com/en-us/library/c64xh8f9.aspx

我只是在讨论StringComparison.CurrentCulture,InvariantCulture或Ordinal的值.
我可以理解这些与IgnoreCase等价物之间的区别.

c# string

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

需要数据库设计建议

我是一家电信公司的独立开发人员,我正在接受任何有一点时间回答的人的数据库设计建议.

我每天插入一个表~2百万行,然后这些表每月进行存档和压缩.每个月表包含~15,000,000行.虽然这个月逐月增加.

对于我在上面做的每个插入,我将来自属于一起的行的数据组合并创建另一个"相关"表.此表目前尚未归档,因为我需要确保永远不会错过相关表的更新.(希望这是有道理的)虽然一般来说,这些信息在处理几天后应该保持相当静态.

以上所有都是完美的.然而,我的公司现在希望针对这些数据执行一些统计数据,并且这些表格变得太大而无法在合理的时间内提供结果.即使设置了适当的索引.

所以我想在完成上述所有问题后我的问题很简单.我应该编写一个脚本,将相关表中的数据分组到较小的表中.或者我应该将查询结果集存储在memcache之类的内容中?我已经在使用mysqls缓存了,但是由于对数据存储时间的控制有限,所以它并不理想.

我可以看到使用memcache之类的主要优点:

  • 查询兑现后,我的相关表上没有阻塞.
  • 在后端收集器和前端处理器之间共享收集的数据具有更大的灵活性.(即,可以在后端写入自定义报告,并将这些结果存储在缓存中的密钥下,然后与希望查看此报告数据的任何人共享)
  • 如果我们开始与大量客户共享此数据,那么冗余和可扩展性.

我可以看到使用memcache之类的主要缺点:

  • 如果重新启动计算机/刷新缓存,则数据不会持久.

使用MySql的主要优点

  • 持久数据.
  • 更少的代码更改(尽管添加像memcache这样的东西无论如何都是微不足道的)

使用MySql的主要缺点

  • 每次我想存储时都必须定义表模板,提供一组新的分组数据.
  • 必须编写一个循环相关数据并填充这些新表的程序.
  • 随着数据的不断增加,潜在的增长速度仍然会放缓.

抱歉相当长的问题.无论如何,这有助于我写下这些想法,并且非常感谢处理这类问题的任何建议/帮助/经验.

非常感谢.

艾伦

mysql sql memcached caching

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

在rails中进行异常处理是否有任何良好的最佳实践?

我目前正在使用Rails 2.3.5,我在我的应用程序中尝试尽可能多地使用rescue_from exception.

我的ApplicationController救援现在看起来像这样:

  rescue_from Acl9::AccessDenied, :with => :access_denied
  rescue_from Exceptions::NotPartOfGroup, :with => :not_part_of_group
  rescue_from Exceptions::SomethingWentWrong, :with => :something_went_wrong
  rescue_from ActiveRecord::RecordNotFound, :with => :something_went_wrong
  rescue_from ActionController::UnknownAction, :with => :something_went_wrong
  rescue_from ActionController::UnknownController, :with => :something_went_wrong
  rescue_from ActionController::RoutingError, :with => :something_went_wrong
Run Code Online (Sandbox Code Playgroud)

我还希望能够捕获上面没有列出的任何例外情况.有没有推荐的方式我应该写我的救援?

谢谢

ruby exception-handling ruby-on-rails

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

PHP HTML CSS初学者使用CASE/SWITCH/IF ELSE?需要建议

使用基于PHP的电子商务产品Magento构建网站.

我遇到的问题是我想使用选项卡式导航.

我的想法是使用CSS根据URL在相关的导航菜单项上显示TAB.

但是,一个URL总是会改变,所以我想以某种方式使用ifelse语句.

我想出了两种我认为可行的方法,任何专家都可以告诉我他们认为最好的方法以及他们将如何实施它?

方法1

<div id="nav">
<ul id="mainnav">
<li><a href="index.php" title="Welcome page" <?php if ($page == 'index.php') { ?>class="active"<?php } ?>>Welcome</a></li>
<li><a href="about_us.php" title="About us page" <?php if ($page == 'about_us.php') { ?>class="active"<?php } ?>>About us</a></li>
<li><a href="services.php" title="Services page" <?php if ($page == 'services.php') { ?>class="active"<?php } ?>>Services</a></li>
<li><a href="testimonials.php" title="Testimonials page" <?php if ($page == 'testimonials.php') { ?>class="active"<?php } ?>>Testimonials</a></li>
<li><a href="contact_us.php" title="Contact us page" <?php if ($page == 'contact_us.php') { ?>class="active"<?php } ?>>Contact us</a></li>
else …
Run Code Online (Sandbox Code Playgroud)

php magento

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