在以下操作(服务端)实现中,WCF框架对AsyncState和AsyncCallback做了什么?
IAsyncResult BeginWork(<<Service call params>>, AsyncCallback callback, object state);
Run Code Online (Sandbox Code Playgroud)
我想了解
我有一个看起来像这样的处理程序:
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) 感谢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环境中如何工作?
我正在开发针对MS CRM 2011.而且我发现有很多痛点,包括边界破坏,半边缘LINQ支持.
除此之外,最新版本与许多内置字段有关,这些字段已被隐藏,弃用和/或未使用,就用户而言.但是从开发人员的角度来看,我们不知道这些字段已被弃用.crm util生成的上下文仍然会生成这些属性.所以最终发生的事情是开发人员针对已经在许多场合弃用的属性/关系/实体进行编码.
所以现在的问题是,有没有办法询问crm服务是否有针对每个实体的任何形式的字段/属性列表?还有一种方法可以查询所有未使用实体的crm服务(缺少更好的单词).这些可能是孤立的实体,暂时没有更新和/或空白等.
我希望有这样一个列表,开发人员将知道要注意什么,而不是盲目地编写crm上下文,这是令人沮丧的根源.
提前致谢.
给出一个看起来像这样的验证器类
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方法签名只接受一个规则集参数,我没有看到任何方法来执行此操作.有"*",但我不想运行所有规则.
请帮忙.
我怎样才能做到这一点?
我有一个代码:
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",因为我想继续订阅.是否有一个功能可以轻松地为我做这个?
我正在看几个使用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 !?
看,我可以得到一些简单的(白痴证明)指针吗?
我只是在学习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"属性,如上所示.
我想在我的应用程序中标准化弹出窗口.所以我为它创建了一个用户控件,并按如下方式引用它:
<!--<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# ×7
.net ×3
azure ×3
acs ×2
asp.net ×2
asp.net-mvc ×2
xaml ×2
crm ×1
encryption ×1
linq ×1
nservicebus ×1
ravendb ×1
security ×1
silverlight ×1
soa ×1
validation ×1
wcf ×1
wpf ×1