小编tsc*_*ege的帖子

linq to entities dynamic from lambdas build

我有一套像这样的lambdas

t => t.FirstName
t => t.LastName
t => t.Profession
Run Code Online (Sandbox Code Playgroud)

我想找到一种方法来构建一个表达式,该表达式可以在Linq to Entities 中的Where语句中使用,其中这些lambda与使用string.contains的值进行比较

// a filter is definded by a lambda and the string to compare it with   
var filters = new Dictionary<Expression<Func<Person, string>>, string>();
filters.Add(t => t.FirstName, "Miller");
filters.Add(t => t.Profession, "Engineer");
var filterConstraints = BuildFilterExpression(t => t, filters);
Entities.Persons.Where(filterConstraints).ToList();

public static Expression<Func<TElement, bool>> BuildFilterExpression<TElement>(Dictionary<Expression<Func<TElement, string>>, string> constraints)
{
  List<Expression> expressions = new List<Expression>();

  var stringType = typeof(string);
  var containsMethod = stringType.GetMethod("Contains", new Type[] …
Run Code Online (Sandbox Code Playgroud)

c# linq lambda entity-framework expression-trees

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

Kentor Auth服务 - 附加索赔

我正在评估Kentor auth服务(它的OWIN版本)以使用SAML对用户进行身份验证.现在我想对该服务另外提出索赔.与那里的样本一起,我能够将请求发送到服务并进行调试.

我做了一个自定义声明的身份验证管理器,在那里我可以看到另外的声明到达auth服务.但是后来(在肯德尔的例子中有一个查看主页/索引列出所有索赔)这个声明不再可用.有谁知道我做错了什么?

非常感谢!

c# saml-2.0 owin kentor-authservices

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

rxjs和WebStorm

将我的Angular项目升级到版本5.2.8后,我的WebStorm IDE(2017.3.5)不再识别rxjs运算符(rxjs@5.5.6).它抱怨unresolved function or method.使用angular cli的编译(typescript@2.6.2)仍然有效.

在以下示例中,它适用于运营商 do

Observable.from([1,2])
     .do((i: number) =>  {
        console.log(i);
     })
Run Code Online (Sandbox Code Playgroud)

如果我import 'rxjs/add/operator/do';在同一个文件或中心位置导入do运算符并不重要.

知道如何配置WebStorm来解决这个问题吗?

rxjs webstorm angular

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

Xamarin HttpClient 请求超时

在 Xamarin.Forms 应用程序中,我尝试连接到 Exosites api(它不是项目的一部分,因此我无法更改 SignalR 左右的那个)。

对于“正常”请求,这一切都很好。

api 还支持长轮询请求 - 在手册中它说客户端必须为请求设置标头“Request-Timeout”。

var client = new HttpClient();
var request = new HttpRequestMessage(HttpMethod.Get, requestUri);
request.Headers.Add("Request-Timeout", "10000");
var response = await client.SendAsync(request);
Run Code Online (Sandbox Code Playgroud)

但是这样做,我没有得到任何答复,即使我将超时设置为非常小的值,例如 1 (ms)。如果我对 Exosites 上的另一个端点的请求设置超时,但它没有检查它,它工作正常。发送没有“Request-Timeout”标头的完全相同的请求也可以正常工作。

有没有人有使用 HttpClient 在 Xamarin 中进行长轮询调用的经验?

非常感谢!

切格

c# xamarin xamarin.forms

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