草庐IT

c# - 如何利用无状态框架

我想使用http://code.google.com/p/stateless在我的代码中将功能与其依赖项分开。我没有找到任何高级用法示例,所以这个问题是关于无状态框架最佳实践的。我有以下配置(这只是示例,只有一个功能状态):varstateMachine=newStateMachine(State.Stopped);stateMachine.Configure(State.Stopped).Permit(Trigger.Failed,State.Error).Permit(Trigger.Succeed,State.GenerateMachineData);stateMachine.C

c# - 使用无状态的基本状态机设置

我有一些相当简单的状态需求(目前)。我想我想使用Stateless对这些进行建模接口(interface)。(但我对状态机了解不多,所以我可能是错的。)但我对术语很感兴趣(特别是State和Trigger)这是一个例子:我有一个订单类。它设置有几个状态。它们是:新的、填充的、运输的、已完成的、已取消的。我想要的一些简单状态规则是允许这些状态转换:新建(默认)新建->填充新建->已取消已填写->发货填写->取消填充->运输发货->完成那么我在这里被绊倒的地方是我的“触发器”是什么?以防万一需要更具体的示例,假设我想要这样的方法:publicboolUpdateOrderStatus(in

c# - 使用无状态的基本状态机设置

我有一些相当简单的状态需求(目前)。我想我想使用Stateless对这些进行建模接口(interface)。(但我对状态机了解不多,所以我可能是错的。)但我对术语很感兴趣(特别是State和Trigger)这是一个例子:我有一个订单类。它设置有几个状态。它们是:新的、填充的、运输的、已完成的、已取消的。我想要的一些简单状态规则是允许这些状态转换:新建(默认)新建->填充新建->已取消已填写->发货填写->取消填充->运输发货->完成那么我在这里被绊倒的地方是我的“触发器”是什么?以防万一需要更具体的示例,假设我想要这样的方法:publicboolUpdateOrderStatus(in

c# - 谷歌+ API : How can I use RefreshTokens to avoid requesting access every time my app launches?

我正在尝试使用Google+API访问经过身份验证的用户的信息。我从其中一个示例中复制了一些代码,效果很好(如下),但是我无法以一种可以跨应用程序启动重用token的方式使其工作。我trycatch“RefreshToken”属性并使用provider.RefreshToken()(除其他事项外),并且总是收到400BadRequest响应。有谁知道如何进行这项工作,或者知道我在哪里可以找到一些示例?GoogleCodesite似乎没有涵盖这个:-(classProgram{privateconststringScope="https://www.googleapis.com/auth

c# - 谷歌+ API : How can I use RefreshTokens to avoid requesting access every time my app launches?

我正在尝试使用Google+API访问经过身份验证的用户的信息。我从其中一个示例中复制了一些代码,效果很好(如下),但是我无法以一种可以跨应用程序启动重用token的方式使其工作。我trycatch“RefreshToken”属性并使用provider.RefreshToken()(除其他事项外),并且总是收到400BadRequest响应。有谁知道如何进行这项工作,或者知道我在哪里可以找到一些示例?GoogleCodesite似乎没有涵盖这个:-(classProgram{privateconststringScope="https://www.googleapis.com/auth

c# - 为什么这段多线程代码有时会打印 6?

我正在创建两个线程,并向它们传递一个函数,该函数执行下面显示的代码10,000,000次。大多数情况下,“5”会打印到控制台。有时是“3”或“4”。很清楚为什么会这样。但是,它也打印“6”。这怎么可能?classProgram{privatestaticint_state=3;staticvoidMain(string[]args){ThreadfirstThread=newThread(Tr);ThreadsecondThread=newThread(Tr);firstThread.Start();secondThread.Start();firstThread.Join();sec

c# - 为什么这段多线程代码有时会打印 6?

我正在创建两个线程,并向它们传递一个函数,该函数执行下面显示的代码10,000,000次。大多数情况下,“5”会打印到控制台。有时是“3”或“4”。很清楚为什么会这样。但是,它也打印“6”。这怎么可能?classProgram{privatestaticint_state=3;staticvoidMain(string[]args){ThreadfirstThread=newThread(Tr);ThreadsecondThread=newThread(Tr);firstThread.Start();secondThread.Start();firstThread.Join();sec

c# - 尝试导出 X509 私钥的 RSAParameters 时出现 CryptographicException "Key not valid for use in specified state."

我盯着这个看了很长一段时间,感谢MSDNdocumentation我真的不知道发生了什么。基本上,我将光盘中的PFX文件加载到X509Certificate2中,并尝试使用公钥加密字符串并使用私钥解密。为什么我感到困惑:当我将引用传递给RSACryptoServiceProvider本身时,加密/解密工作:byte[]ed1=EncryptRSA("foo1",x.PublicKey.KeyasRSACryptoServiceProvider);stringfoo1=DecryptRSA(ed1,x.PrivateKeyasRSACryptoServiceProvider);但是如果导

c# - 尝试导出 X509 私钥的 RSAParameters 时出现 CryptographicException "Key not valid for use in specified state."

我盯着这个看了很长一段时间,感谢MSDNdocumentation我真的不知道发生了什么。基本上,我将光盘中的PFX文件加载到X509Certificate2中,并尝试使用公钥加密字符串并使用私钥解密。为什么我感到困惑:当我将引用传递给RSACryptoServiceProvider本身时,加密/解密工作:byte[]ed1=EncryptRSA("foo1",x.PublicKey.KeyasRSACryptoServiceProvider);stringfoo1=DecryptRSA(ed1,x.PrivateKeyasRSACryptoServiceProvider);但是如果导

c# - Thread.Sleep 与 Task.Delay?

我知道Thread.Sleep阻塞了一个线程。但是Task.Delay也会阻塞吗?或者它就像Timer一样使用一个线程来处理所有回调(当不重叠时)?(this问题不包括差异) 最佳答案 MSDN上的文档令人失望,但使用Reflector反编译Task.Delay可提供更多信息:publicstaticTaskDelay(intmillisecondsDelay,CancellationTokencancellationToken){if(millisecondsDelay基本上,这个方法只是一个包裹在任务中的计时器。所以是的,您可以