小编Tor*_*gen的帖子

在iframe中丢失会话状态,但不在弹出窗口中丢失

我们正在开发一个网上商店,并使用第三方UI处理付款.

我们选择在iframe内部结帐页面中显示付款UI,即使(我们现在意识到),付款解决方案提供商建议使用顶级窗口.

现在发生的事情是,在IE7/IE8中,支付UI在第一次回发(在iframe内)失去会话状态,而在Firefox中,它工作得很好.我们观察到支付UI是使用ASP.NET开发的.

我的印象是,就服务器而言,从iframe引用与顶级窗口之间没有区别,但显然有.

有人有线索吗?iframe做了什么可能会对支付服务器产生影响,导致它失去会话状态?

可能(它突然在我身上恍然大悟)是cookie处理的差异吗?或许更严格的安全?

asp.net iframe session-state

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

在项目模板中包含对我自己的程序集的引用的最佳方法是什么?

我们用C#开发了一个库,现在我想创建一个项目模板来帮助正确使用库.

我希望新项目包含对库程序集的引用,但是不希望不必将程序集部署到GAC,或者依赖于驻留在某个特定位置的程序集.

我在想的是在项目模板.zip文件中包含.dll.这意味着它将最终位于新项目的项目文件夹中的某个位置.也许在名为Lib的文件夹中.然后项目文件中的引用提示可以指向该文件夹.这是一个好主意吗?我可能面临什么问题?

是否有一些机制可以将这些第三方库包含在我不知道的项目模板中?你是怎么解决这个问题的?当然,我不是第一个.

visual-studio-2010 project-template visual-studio-templates

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

无法数据绑定DependencyProperty

我有一个带有DependencyProperty的UserControl.我使用数据绑定表达式在主机窗口中设置它的值.但是,它没有按预期工作.

来自用户控件的代码隐藏的片段:

public class ViewBase : UserControl
{
    public static readonly DependencyProperty ViewModelProperty
        = DependencyProperty.Register(
            "ViewModel", typeof(ViewModelBase), typeof(ViewBase));

    public ViewModelBase ViewModel
    {
        get { return GetValue(ViewModelProperty) as ViewModelBase; }
        set
        {
            SetValue(ViewModelProperty, value);
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

并且从XAML(注意:CasingListView继承自ViewBase):

<CasingEditor:CasingListView x:Name="_casingListView"
                             ViewModel="{Binding CasingListViewModel}" />
Run Code Online (Sandbox Code Playgroud)

什么都没有发生.具体来说,永远不会调用setter,并且该属性保持为null.我知道source属性CasingListViewModel有一个值,因为我试图将它绑定到另一个属性(DataContext),它工作正常.

我认为依赖属性可以是数据绑定.我错了吗?

data-binding wpf dependency-properties

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

File.Exists()返回false,但不在调试中

我在这里完全糊涂了,

我的代码抛出异常,因为File.Exists()返回false

public override sealed TCargo ReadFile(string fileName)
{
    if (!File.Exists(fileName))
    {
        throw new ArgumentException("Provided file name does not exist", "fileName");
    }
Run Code Online (Sandbox Code Playgroud)

Visual Studio在throw语句中断,我立即检查File.Exists(fileName)在即时窗口中的值.它回来了true.当我将断点拖回到if语句并再次执行时,它会再次抛出.

fileName是文件的绝对路径.我不是在创建文件,也不是写文件(它一直都在那里).如果我将路径粘贴到记事本中的打开对话框中,它会毫无问题地读取文件.

代码在后台工作程序中执行.这是我能想到的唯一复杂因素.我很肯定文件还没有在工作线程或其他地方打开过.

这里发生了什么?

.net c# backgroundworker visual-studio-2008

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

没有路径的Windows快捷方式

"常规"Windows应用程序快捷方式具有目标,该目标是可执行文件的路径.此路径在快捷方式的属性对话框中可见(且可编辑).

但是许多快捷方式没有这样的路径,只显示(只读)应用程序名称.例如,所有MS Office程序都有这样的快捷方式.

这些快捷方式是如何工作的(我想这涉及到一个进步),它们优于"常规"快捷方式的优势是什么?为什么我要将这些快捷方式用于我自己的应用程序?

最后,我可以使用Visual Studio 2008中的安装项目构建的安装程序创建这样的快捷方式吗?

windows shortcuts windows-installer visual-studio-2008 visual-studio

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

使用RhinoMocks,如何断言调用了几种方法之一?

考虑以下服务接口:

public interface IServiceA
{
    void DoSomething(string s);
    void DoSomething(string s, bool b);
}

public interface IServiceB
{
    void DoSomething();
}
Run Code Online (Sandbox Code Playgroud)

IServiceB的实现取决于IServiceA,如下所示:

public class ServiceB : IServiceB
{
    private IServiceA _serviceA;

    public ServiceB(IServiceA serviceA)
    {
        _serviceA = serviceA;
    }

    public void DoSomething()
    {
        _serviceA.DoSomething("Hello", true);
    }
}
Run Code Online (Sandbox Code Playgroud)

就是 依赖项被注入到构造函数中。

现在考虑对该DoSomething()方法进行单元测试。我想断言,调用了IServiceA中的一种重载DoSomething方法,但是遵循一个普遍的原则,即单元测试对所测试方法的内部工作不应该了解太多,我希望与哪一个无关。称为两个重载。考虑以下单元测试:

[TestFixture]
public class ServiceBTests
{
    [Test]
    public void DoSomething_CallsServiceA()
    {
        var serviceAMock = MockRepository.GenerateMock<IServiceA>();
        var service = new ServiceB(serviceAMock);

        service.DoSomething();

        // Problem: How to check if EITHER:
        serviceAMock.AssertWasCalled(s …
Run Code Online (Sandbox Code Playgroud)

unit-testing assert dependency-injection rhino-mocks

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