问题列表 - 第4575页

具有不同汇编版本的二进制反序列化

我有一个项目使用BinaryFormatter序列化字符串和bool的结构集合?数据类型.

序列化/反序列化工作正常,但是如果我要更改执行工作的程序集,则无法反序列化,因为二进制文件中的标头指示它需要Assembly x而不是Assembly y处理数据.

是否可以将序列化/反序列化设置为与程序集无关?

.net serialization binaryformatter assemblyversions

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

标志与Web服务

我有一个标志属性枚举,它位于Web服务后面,如下所示:

[Serializable,Flags]
public enum AccessLevels
{
    None = 0,
    Read = 1,
    Write = 2,
    Full = Read | Write
}
Run Code Online (Sandbox Code Playgroud)

我的问题是我的网络服务的消费者没有枚举的原始常量值.生成的代理类客户端端具有以下内容:

{
   None = 1,
   Read = 2,
   Write = 4,
   Full = 8
}
Run Code Online (Sandbox Code Playgroud)

因此,当消费者检查"读取"访问时,即使"testItem"为"Full",这也将是假的.

((testItem & Svc.Read) == Svc.Read)
Run Code Online (Sandbox Code Playgroud)

如何通过Web服务正确提供标志?

编辑:

根据这篇文章,我可能无法做我想做的事情.Ivan Krivyakov说

Enum的透明度不完美

事实证明,枚举并不像我们希望的那样透明.有三个棘手的问题:

  1. 如果服务器端代码声明枚举并为其成员分配特定的数值,则客户端将无法看到这些值.
  2. 如果服务器端代码声明带有"复合"掩码值的[Flags]枚举(如白色=红色|绿色|蓝色),则它在客户端没有正确反映.
  3. 如果服务器或客户端发送超出枚举范围的"非法"值,则会在另一侧的XML反序列化器中导致异常.

所以我想知道这只是一个限制,是不可能的.

.net c# flags web-services

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

为什么依赖注入框架支持容器层次结构?

我一直在关注Daniel Cazzulino关于使用TDD构建DI容器系列文章.在本系列的第五部分中,他添加了对容器层次结构的支持,而没有评论使该功能有用的原因.我已经看到在许多DI框架中提到对层次结构的支持,但是我很难理解它们何时被使用,以及为什么.有人可以提供一些见解吗?

dependency-injection

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

装饰设计模式

我刚开始学习设计模式,我有两个与装饰师有关的问题......

我想知道为什么装饰器模式表明装饰器实现了它装饰的组件的所有公共方法?

装饰器类不能只用于提供额外的行为,然后具体组件(传递给它)只是用于调用其他所有内容吗?

其次,如果要装饰的具体组件没有抽象装饰器也可以派生出来的基类怎么办?

提前致谢!

oop design-patterns decorator

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

将HTML转换为PHP或使用Echo?哪个更好?

在性能方面,什么会更好.使用PHP来回显所有的HTML输出,这样我就可以使用各种工作代码和变量,或者在整个文档中定期将HTML转义为php.

我知道可能存在一些可读性问题,但我并不担心.

谢谢大家!

例1

echo '<html>',
     '<body>',
     'The content of the ',$container,' element is displayed in your ', $other_container,
     '</body>',
     '</html>';
Run Code Online (Sandbox Code Playgroud)

要么

<html>
<body>
The content of the <?php echo $container; ?> element is displayed in your <?php echo $other_container; ?>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)

html php performance

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

Windows x64上32位和64位应用程序之间的进程间通信

我们想支持最近停产的一些硬件.硬件的驱动程序是一个普通的32位C DLL.我们没有源代码,并且(出于法律原因)对驱动程序的反编译或逆向工程不感兴趣.

硬件快速发送大量数据,因此通信协议需要非常高效.

我们的软件是原生的64位C++应用程序,但我们希望通过32位进程访问硬件.什么是32位和64位应用程序相互通信的有效,优雅的方式(理想情况下,这不涉及发明新协议)?

解决方案应该是C/C++.

更新:一些受访者要求澄清这是用户模式还是内核模式驱动程序.幸运的是,它是一个用户模式驱动程序.

c++ winapi interprocess

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

filterContext.Cancel(ASP.NET MVC)发生了什么

在RC1之前,我们做了类似这样的事情:

public void OnAuthorization(AuthorizationContext filterContext)
    {
        if (whatever)
        {
            filterContext.Cancel();
        }
    }
Run Code Online (Sandbox Code Playgroud)

现在已经不见了,我们如何用RC1实现相同的结果?

谢谢,

凯尔

c# asp.net-mvc authorization

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

如何通过jQuery单击更改html元素<li>的颜色?

如何在点击时更改UL'li'的背景颜色?

编辑我可以改变li"a",但整个怎么样

这工作:

 $(".clickableUL").click(function() {
           $(this).find("li a").addClass("active");

       });
Run Code Online (Sandbox Code Playgroud)

但发现("li")什么都不做.我希望LI不仅突出显示链接的文本.

jquery

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


如何在 Django 中链接视图?

我正在实施James Bennett出色的django-contact-form但遇到了障碍。我的联系页面不仅包含表单,还包含其他平面页面信息。

在不重写联系表单使用的现有视图的情况下,我希望能够包装或链接视图。这样我就可以通过上下文注入一些额外的信息,以便表单和平面页面数据都可以在同一个模板中呈现。

我听说它提到这是可能的,但我似乎无法弄清楚如何使它起作用。我创建了自己的包装视图,称为联系表单视图,并尝试检查 HttpResponse 对象以获取我可以附加到的属性,但我似乎无法弄清楚它是哪个(如果有)。

编辑:詹姆斯评价说,最新的代码可以将新发现这里的到位桶。

python django extension-methods word-wrap django-views

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