小编Ale*_*tov的帖子

防止Windows工作站(桌面)在运行WPF程序时锁定

问题:
我有一个WPF 全屏应用程序,它充当仪表板.计算机在域和域策略中强制计算机在最后一次用户活动后10分钟内被锁定.我想防止工作站(或桌面)自动锁定.
此类行为的一个示例:Windows Media Player,可在电影运行时阻止此行为.

已知的解决方案(有点解决方法):

  1. 可以在每个固定的时间间隔(例如,每分钟)发送一次Win32 Mouse Move事件
  2. 可以在每个固定的时间间隔(例如,每分钟)向程序发送一个键(例如"左移"键).

问题:
如何在不使用这些变通方法的情况下阻止Windows工作站锁定?

免责声明:
我很确定,应该在StackOverflow上的某处回答类似的问题,但我没有发现任何问题.如果你能指出我正确的方向,我将不胜感激.

.net c# windows winapi

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

来自另一个方法的意外返回值的异常

我正在寻找一个BCL异常类型,以便在调用另一个方法时出现意外返回值.

我会以某种方式命名UnexpectedReturnValueException,但显然.NET Framework没有这样的东西.

以下是一个代码示例:

public class SomeClass
{
    private int savedMonth;

    private ISomeOtherClass other;

    public void DoSomething(int month, string value)
    {
        if (string.IsNullOrEmpty(value))
        {
            throw new ArgumentNullException("value");
        }

        if (!value.StartsWith("A"))
        {
            throw new ArgumentException("Value should always start with an 'A'", "value");
        }

        if (month < 1 || month > 12)
        {
            throw new ArgumentOutOfRangeException("month", "Month should be in range of 1 to 12");
        }

        if (savedMonth == month)
        {
            throw new InvalidOperationException("Provided month should be different from saved …
Run Code Online (Sandbox Code Playgroud)

.net c# exception

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

WCF.IList被反序列化为数组.如何使它成为任何可写列表(ArrayList)?

我有一个客户端 - 服务器应用程序,其中一部分通过WCF(netTcp绑定)相互"交谈".

我有我的DataContract,它有一个第三方类的字段:

[Serializable]
public class MyResult{
  public ThirdPartyResult Result {get;set;}

  /* other fields */
}
Run Code Online (Sandbox Code Playgroud)

使用反射我看到这个:

[Serializable]
public class ThirdPartyResult {
  private IList result;

  public IList Result
  { 
    get { return result ?? (result = new ArrayList());}
  }
}
Run Code Online (Sandbox Code Playgroud)

从客户端调用服务器时我有resultas ArrayList服务器.在客户端之后,该result字段变为固定大小的数组.

没有使用添加服务引用,但我使用程序集共享,只是这样做

ChannelFactory<IMyContract>.CreateChannel(new NetTcpBinding("Configuration.Name"), address);
Run Code Online (Sandbox Code Playgroud)

更新:服务合同

[ServiceContract]
[ServiceKnownType(typeof(ArrayList))]
[ServiceKnownType(typeof(ThirdPartyResult))]
public interface IMyContract
{
   MyResult GetResult();
}
Run Code Online (Sandbox Code Playgroud)

现在问题是:
我如何告诉WCF使用ArrayList而不是Array


我提出了一个非常糟糕的解决方案(从我的角度来看)
通常我希望ArrayList保留一个以便能够添加项目.最后我想出了下面的解决方案.是的,我知道,这是完全糟糕的,这就是为什么我还在寻找一些更好的变体.

        if (thirdParty.Results …
Run Code Online (Sandbox Code Playgroud)

c# wcf serialization

5
推荐指数
0
解决办法
2935
查看次数

标签 统计

c# ×3

.net ×2

exception ×1

serialization ×1

wcf ×1

winapi ×1

windows ×1