小编Alw*_*wyn的帖子

Async WCF中的AsyncCallback和AsyncState是什么?

在以下操作(服务端)实现中,WCF框架对AsyncState和AsyncCallback做了什么?

IAsyncResult BeginWork(<<Service call params>>, AsyncCallback callback, object state);
Run Code Online (Sandbox Code Playgroud)

我想了解

  1. 谁在填充这些?
  2. 他们的目的是什么?
  3. 与(2)相关,使用这些的最佳实践是什么?

.net c# wcf

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

NServiceBus传奇无法正常工作

我有一个看起来像这样的处理程序:

public class CreateNewUserHandler :
    Saga<UncorroboratedCreateNewUser>,
    IAmStartedByMessages<CreateNewUser>,
    IHandleMessages<FoundUser>
{

    [Dependency]
    public IBus Bus { get; set; }


    public override void ConfigureHowToFindSaga()
    {        
        ConfigureMapping<CreateNewUser>(saga => saga.CorrelationId, req => req.CorrelationId);
        ConfigureMapping<FoundUser>(saga => saga.CorrelationId, foundUser => foundUser.CorrelationId); //CorrelationId is of type Guid here
    }

    public void Handle(CreateNewUser message)
    {
        Mapper.DynamicMap(message, Data, typeof(CreateNewUser), typeof(UncorroboratedCreateNewUser));
        Data.CorrelationId = message.CorrelationId;
        Bus.Send(new FindUserByUserName { CorrelationId = Data.CorrelationId, UserName = message.UserName });
    }


    public void Handle(FoundUser message)
    {
        //**THIS BLOCK WAS NEVER HIT**
    }
}
Run Code Online (Sandbox Code Playgroud)

现在应该回复的另一个处理程序FoundUser是这样的:

public …
Run Code Online (Sandbox Code Playgroud)

.net c# soa nservicebus azure

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

Azure ACS身份验证是如何安全的?

感谢Gaurav Mantri 在C#中回答我之前提出的Azure ACS设置问题.

但是能有人向我解释,如何以下线路保护

if (!ClaimsPrincipal.Current.Identity.IsAuthenticated)
Run Code Online (Sandbox Code Playgroud)

ACS模式中的客户端很方便中间人,他可能无法登录到Facebook,例如,这被转发到ACS(我假设这部分是安全的),但现在ACS告诉客户回去关于失败的依赖方.

最后一部分是如何获得保障的?什么阻止客户端篡改ACS消息"失败"到"成功"?Asp.Net如何知道如何验证签名并解密消息?

就此而言,它用于加密/签署消息交换的密钥是什么?那在webfarm/Azure环境中如何工作?

asp.net security encryption azure acs

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

CRM 2011哪些领域正在使用?

我正在开发针对MS CRM 2011.而且我发现有很多痛点,包括边界破坏,半边缘LINQ支持.

除此之外,最新版本与许多内置字段有关,这些字段已被隐藏,弃用和/或未使用,就用户而言.但是从开发人员的角度来看,我们不知道这些字段已被弃用.crm util生成的上下文仍然会生成这些属性.所以最终发生的事情是开发人员针对已经在许多场合弃用的属性/关系/实体进行编码.

所以现在的问题是,有没有办法询问crm服务是否有针对每个实体的任何形式的字段/属性列表?还有一种方法可以查询所有未使用实体的crm服务(缺少更好的单词).这些可能是孤立的实体,暂时没有更新和/或空白等.

我希望有这样一个列表,开发人员将知道要注意什么,而不是盲目地编写crm上下文,这是令人沮丧的根源.

提前致谢.

.net c# linq crm dynamics-crm-2011

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

Fluent验证规则,子集和嵌套

给出一个看起来像这样的验证器类

 public class SomeValidator : AbstractValidator<SomeObject>
 {
      public SomeValidator(){
           RuleSet("First",
                () => {
                     RuleFor(so => so.SomeMember).SetValidator(new SomeMemberValidator())
           });
           RuleSet("Second",
                () => ... Code Does Not Matter ... );
           RuleSet("Third",
                () => ... Code Does Not Matter ... );
      }
 }
Run Code Online (Sandbox Code Playgroud)

另一个做内部成员验证

 public class SomeMemberValidator: AbstractValidator<SomeMember>
 {
      public SomeValidator(){
           RuleSet("Fourth",
                () => {
                     ... Code Does Not Matter ...
           });
      }
 }
Run Code Online (Sandbox Code Playgroud)

问题是,我想运行特定的规则集:"First","Second"和"Fourth".我不希望"第三"运行.

鉴于Validate方法签名只接受一个规则集参数,我没有看到任何方法来执行此操作.有"*",但我不想运行所有规则.

请帮忙.

c# validation asp.net-mvc fluentvalidation

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

在Rx中从数组创建热的observable

我怎样才能做到这一点?

我有一个代码:

new int[]{1,2,3}.ToObservable().Subscribe(myObserver);
Run Code Online (Sandbox Code Playgroud)

问题是这第一个调用是一个冷可观察的,所以在另一个调用上这样:

new int[]{4,5,6}.ToObservable().Subscribe(myObserver);
Run Code Online (Sandbox Code Playgroud)

myObserver根本不会触发onNext.显然是因为第一个电话发布了1,2,3, END.我不希望observable调用"END",因为我想继续订阅.是否有一个功能可以轻松地为我做这个?

c# reactive-programming system.reactive

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

查找RavenDb会话中的更改

如何找出RavenDb会话中已修改/更改的实体?

c# ravendb

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

Azure ACS在C#中设置

我正在看几个使用ACS的例子,他们确实让我感到愚蠢.

我在网上查看了教程,似乎我需要的是配置中的以下行:

  httpRuntime requestValidationMode="2.0"
Run Code Online (Sandbox Code Playgroud)

但是此示例项目 SimpleMVC4中的其他一些示例 在其配置中没有这样的行.更糟糕的是,我没有看到任何可能引用ACS库的内容.

另一方面,MVC3样本有一堆乱码,包括对javascript的ajax请求!?

    public const string HrdPath = "v2/metadata/IdentityProviders.js";

    /// <summary>
    /// Gets the url with its query string representing this request
    /// </summary>
    /// <returns></returns>
    public string GetUrlWithQueryString()
    {
        uriBuilder.Path = HrdPath;
        uriBuilder.Query = parameters.ToQueryString();

        return uriBuilder.Uri.AbsoluteUri;
    }
Run Code Online (Sandbox Code Playgroud)

并在Raxor视图中

    $("#signIn").click(function () {
        //
        // Explicit JSONP callback can be used to do client side caching of identity provider data.
        //
        $.ajax({
            url: "@Html.Raw(Model.GetUrlWithQueryString())",
            dataType: "jsonp",
Run Code Online (Sandbox Code Playgroud)

HUH !?

看,我可以得到一些简单的(白痴证明)指针吗?

  1. 我是一个依赖的派对
  2. 我有一个MVC 控制器操作,我想告诉用户这里是他们可以使用的身份提供商(IP),他们各自的URL以及生成将在下面的步骤(3)中验证的令牌.我如何用C#代码实现这一目标?
  3. 一旦客户端,ACS,IP完成了他们的业务,我不在乎那是什么,只要我担心客户端,ACS和IP之间的所有这些.我应该收到用户的另一个请求.我该怎么办这个请求?如何验证用户是否是犹太洁食?并且他们没有伪造上面步骤(2)中的令牌.

asp.net asp.net-mvc azure acs asp.net-mvc-3

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

XAML中的子元素

我只是在学习XAML,所以请耐心等待.

在XAML中嵌套元素时,似乎该元素设置为父UI的"Child"属性.

但是,在以下代码中,子元素被设置为值.那种有道理 - 有点儿.

然而,下面的Border Element设置为ControlTemplate,但ControlTemplate没有Child元素,所以有人可以告诉我下面的Border和ControlTemplate究竟是什么关系?也许你可以在c#中重新编写这个片段作为解释.

 <Setter Property="Template" >
        <Setter.Value>
            <ControlTemplate TargetType="dtp:PickerSelectorItem">

                <Border HorizontalAlignment="Stretch" VerticalAlignment="Stretch" >

                    <VisualStateManager.VisualStateGroups>
                        <VisualStateGroup x:Name="Picker">
                            <VisualState x:Name="Focused">
                                <Storyboard>
               <!-- There is more code but snipped for irrelevance-->
Run Code Online (Sandbox Code Playgroud)

另外,XAML编译器如何理解子元素实际执行的操作?即,它如何知道子元素应该被设置为"Child"属性,而有时它被设置为"Value"属性,如上所示.

silverlight wpf xaml windows-runtime

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

尝试引用用户控件时,获取错误"当前上下文中不存在该名称"

我想在我的应用程序中标准化弹出窗口.所以我为它创建了一个用户控件,并按如下方式引用它:

    <!--<Popup x:Name="LoginPopup" Grid.ColumnSpan="2" Grid.RowSpan="2" Height="768" Width="1366" IsOpen="False">-->
        <uc:StandardDialog Name="StandardDialog" Height="768" Width="1366" Grid.ColumnSpan="2">
            .
            .
            .
        </uc:StandardDialog>
    <!--</Popup>-->
Run Code Online (Sandbox Code Playgroud)

并在代码背后:

    private void LoginClicked(object sender, RoutedEventArgs e)
    {
        StandardDialog.IsOpen = true;
        //LoginPopup.IsOpen = true;
    }

    private void CloseLoginPopup(object sender, RoutedEventArgs e)
    {
        StandardDialog.IsOpen = false;
        //LoginPopup.IsOpen = false;
    }
Run Code Online (Sandbox Code Playgroud)

然而,这失败了以下错误,指向上面的行:

错误1当前上下文中不存在名称"StandardDialog"C:\ NSyncHg\MyApp.WinRT\Views\TestVisualAwarePage.xaml.cs 46 13 MyApp.WinRT

但是,如果我要取消注释上面的弹出窗口并恢复到内置弹出窗口,则所有内容都会编译并运行.

我究竟做错了什么?

c# xaml windows-runtime

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