小编Neo*_*que的帖子

为System.Net.HttpClient get构建查询字符串

如果我希望使用System.Net.HttpClient提交http get请求,似乎没有api添加参数,这是正确的吗?

是否有任何简单的api可用于构建查询字符串,该字符串不涉及构建名称值集合和url编码那些然后最终连接它们?我希望使用类似RestSharp的api(即AddParameter(..))

.net c# http

159
推荐指数
6
解决办法
14万
查看次数

如何使用f#查询表达式执行"包含"查询?

如何执行类似于SQL IN查询的查询表达式?

我试图沿着这些方向做点什么:

let customerNumbers = set ["12345"; "23456"; "3456"]
let customerQuery = query {
    for c in dataContext.Customers do
    where(customerNumbers.Contains(c.CustomerNumber))
    select c
}
Run Code Online (Sandbox Code Playgroud)

但我收到一个错误:

System.NotSupportedException: Method 'Boolean Contains(System.String)' has no supported translation to SQL.
Run Code Online (Sandbox Code Playgroud)

http://msdn.microsoft.com/en-us/library/hh225374.aspx上查看查询表达式的文档我应该对contains部分使用另一个查询,但是这段代码不起作用,示例被破坏了:

// Select students where studentID is one of a given list.
let idQuery = query { for id in [1; 2; 5; 10] do select id }
query { 
    for student in db.Student do
    where (idQuery.Contains(student.StudentID))
    select student
}
Run Code Online (Sandbox Code Playgroud)

idQuery确实不包含任何"Contains"方法.

我也尝试过:

let …
Run Code Online (Sandbox Code Playgroud)

f# query-expressions

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

Xamarin.Forms应用程序的操作栏中的按钮?

是否有一个Xamarin.Forms方法向操作栏/导航项添加按钮(不依赖平台特定代码)?

xamarin.forms

5
推荐指数
1
解决办法
6118
查看次数

Entity Framework Core 2.0,SQL Server 和 Postgres 的迁移?

使用 Entity Framework Core 2.0,如果我的应用程序需要能够针对这两种类型,我如何在同一解决方案中保留 Microsoft SQL Server 和 Postgres 的迁移?就我而言,如果在 MacOS 上运行,我想使用 Postgres,如果在 Windows 上运行,我想使用 SQL Server。在设置 DataContext 之前,我们使用调用“RuntimeInformation.IsOSPlatform(..)”来确定平台并提取适当的连接字符串。

目前,该解决方案分为一个 ASP.NET Core 项目和一个“Data”项目,该项目仅保留 SQL Server 的 DataContext 和迁移。

到目前为止,我的尝试失败了:

  1. 为迁移创建单独的项目,一个用于 SQL Server 迁移,一个用于 Postgres 迁移。然后运行“ef migrations add ...”,其中“-p”参数指向我要使用的迁移项目。这是结合调用“.UseNpgsql(connectionString, o => o.MigrationsAssembly(..)”或“.UseSqlServer(connectionString, o => o.MigrationsAssembly(..)”)来完成的。工具会失败。抱怨没有找到 DataContext。

  2. 与“1”相同。但我们还在每个迁移项目中添加了一个实现“IDesignTimeDbContextFactory<..>”的类。此操作失败,工具抱怨没有找到 DataContext。

  3. 将 SQL Server 迁移保留在与 DataContext 相同的项目中。调用“ef migrations add ..”,并使用“-o”参数指定 Postgres 迁移的另一个输出文件夹。这适用于 SQL Server 迁移,但对于 Postgres 迁移会失败,因为它不喜欢同一项目中存在同名的迁移(即使它位于另一个文件夹中),而且迁移是为SQL Server 而不是 Postgres,即使它们放在指定的文件夹中。

这是当前不支持的场景吗?我们应该在所有平台上坚持使用 Postgres 吗?(这确实有效)。

sql-server postgresql entity-framework-core entity-framework-migrations

5
推荐指数
1
解决办法
2509
查看次数

提交沙盒MonoMac应用程序而不访问共享内存?

我在MacAppStore中有一个基于沙盒MonoMac的应用程序,该应用程序的最新更新已推送到MAS,我从苹果收到一条消息,该应用程序访问/ dev / shm,并且允许此更新,但以后的更新不能访问/ dev / shm。我没有在应用程序中使用任何共享内存,所以我假设这是因为MonoMac的某些部分正在使用共享内存(这很有意义)。将来我该如何解决?

monomac mac-app-store

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

使用Asp.Net Core强制语言环境

使用完整的.Net Framework v4.6.2,使用Asp.Net Core 1.1编写的Web应用程序遇到一些奇怪的问题。

我想强制应用程序使用瑞典语言环境(sv-SE)。这在开发机器上(当然...)工作得很好,但在应该运行的服务器上(运行Windows Server 2012r2)却无法正常工作。

我尝试了以下方法:

1)将“ SiteLocale”:“ sv-SE”放入appsettings.json文件中。

2)将以下内容放入web.config

<configuration>
    <system.web>
        <globalization culture="sv-SE" uiCulture="sv-SE" />
    </system.web>
    ...
</configuration
Run Code Online (Sandbox Code Playgroud)

3)初始化应用程序之前,在program.cs中设置默认语言环境

System.Globalization.CultureInfo.DefaultThreadCurrentCulture = new System.Globalization.CultureInfo("sv-SE");
System.Globalization.CultureInfo.DefaultThreadCurrentUICulture = new System.Globalization.CultureInfo("sv-SE");
Run Code Online (Sandbox Code Playgroud)

4)在Startup.cs中为Configure(...)添加了RequestLocalization

var supportedCultures = new[]
{
    new CultureInfo("sv-SE")
};
app.UseRequestLocalization(new RequestLocalizationOptions
{
    DefaultRequestCulture = new RequestCulture("sv-SE"),
    SupportedCultures = supportedCultures,
    SupportedUICultures = supportedCultures
});
Run Code Online (Sandbox Code Playgroud)

5)在我的控制器构造函数中设置当前线程的区域性

System.Threading.Thread.CurrentThread.CurrentCulture = new System.Globalization.CultureInfo("sv-SE");
System.Threading.Thread.CurrentThread.CurrentUICulture = new System.Globalization.CultureInfo("sv-SE");
Run Code Online (Sandbox Code Playgroud)

6)在我的控制器动作中设置当前线程的区域性

System.Threading.Thread.CurrentThread.CurrentCulture = new System.Globalization.CultureInfo("sv-SE");
System.Threading.Thread.CurrentThread.CurrentUICulture = new System.Globalization.CultureInfo("sv-SE");
Run Code Online (Sandbox Code Playgroud)

7)为服务器安装了瑞典语语言包(服务器最初仅是英语)

完成上述所有操作后,视图中输出的任何日期或数字仍将使用en-US语言环境呈现。

在视图中查看当前语言环境,可以看到以下内容:

System.Globalization.CultureInfo.CurrentCulture.Name => "sv-SE"
System.Globalization.CultureInfo.CurrentUICulture.Name => …
Run Code Online (Sandbox Code Playgroud)

.net c# iis-8.5 asp.net-core-mvc asp.net-core

4
推荐指数
3
解决办法
7083
查看次数