小编Ano*_*ous的帖子

如何使用带有OR子句的Where过滤器的ObjectQuery

有人可以帮我回答如何用ObjectQuery bilder重写原始SQL过滤器WHERE(...)OR(...),好吗?

String queryRaw = "SELECT ls.LocaleName, ls.IsActive, ls.LocaleDescription " +
                  "FROM RoutesEntities.Locales AS ls ";

                  //" WHERE ls.LocaleName = 'en' OR ls.LocaleName = 'de' "

this._queryData = new ObjectQuery<DbDataRecord>(queryRaw, routesModel);
Run Code Online (Sandbox Code Playgroud)

我会使用Where()方法,但它生成where子句用AND分隔,但我想使用OR代替.是否可以使用QueryBilder?我的意思是如何使用它来生成"OR分离"过滤器:

Where("it.LocaleName IN (@localeName)", new ObjectParameter("localeName", String.Join(",", localeName)))
Run Code Online (Sandbox Code Playgroud)

谢谢,阿尔乔姆

c# sql filter where objectquery

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

Swagger 为 ASP.CORE 3 中的字典生成错误的 URL

当从查询字符串中提取的模型将字典作为其属性之一时,Swagger 会生成错误的 URL。如何告诉 Swagger 更改 URL 中字典的格式或手动定义输入参数架构,而不自动生成?尝试使用 Swashbuckle 和 NSwag。

控制器

public class RecordsController : ControllerBase
{
  [HttpGet]
  [Route("services/records")]
  public async Task<IActionResult> Records([FromQuery] QueryModel queryModel)
  {
    return null;
  }
}
Run Code Online (Sandbox Code Playgroud)

输入模型 - 查询字符串

public class QueryModel 
{
  public int Page { get; set; }
  public int Count { get; set; }
  public Dictionary<Columns, string> Conditions { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

Swagger UI为查询模型上的“条件”属性显示了这种格式

{
  "UserId": "string",
  "GroupId": "string",
  "RecordId": "string"
}
Run Code Online (Sandbox Code Playgroud)

Swagger 生成的 URL - Open API v2 - 不会绑定到“条件” …

swagger swashbuckle asp.net-core asp.net-core-webapi swashbuckle.aspnetcore

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

自定义迭代器的实现不会更改其中一个参数

我有这个迭代器,并希望它在某些条件下停止,因此,有一个名为"条件"的第三个参数.

public static IEnumerable<long> Dates(long start, int step, bool condition)
{
    var k = start + step;

    while (condition)
    {
        k += step;
        yield return k;
    }
}
Run Code Online (Sandbox Code Playgroud)

我这样称呼它:

var i = 0;

foreach (var k in Iterator.Dates(0, 5, i++ < 100))
{
    // Here goes infinite loop because (i++ < 100) is always true inside iterator
}
Run Code Online (Sandbox Code Playgroud)

不幸的是,这个参数在内部循环中没有改变,所以现在总是如此,因为它似乎只在第一次迭代时执行.

问题:如何在每次迭代中检查或执行"条件"?

c# iterator

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

绕过 WebView2 中显示的 Kestrel 服务器的无效 SSL 证书

给定

  • WPF 应用程序启动 Kestrel 服务器
  • Kestrel 聆听http://0.0.0.0:5000https://0.0.0.0:6000
  • Kestrel 指向静态 HTML 文件index.html
  • WPF显示指向的浏览器控件WebView2https://127.0.0.1:6000/index.html

结果

  • 如果 WebView2 指向http://127.0.0.1:5000/index.html一切正常
  • 如果指向 WebView2,https://127.0.0.1:6000/index.html我会收到有关不受信任的证书的错误

问题

  • 是否可以在 Kestrel 或 WebView2 中禁用或忽略本地主机的 SSL 验证

不应触及 Windows 设置,例如将“localhost”证书标记为“msmc”中受信任的证书或生成自签名证书,因为此 WPF 应用程序应该在不同的计算机上运行。

换句话说,一定有比本文描述的更简单的方法

红隼

公共类Web服务器
{
  公共静态任务运行()
  {
    var 配置 = new ConfigurationBuilder().Build();

    var url = 新[]
    {
      “http://0.0.0.0:7000”,
      “https://0.0.0.0:8000”
    };

    var 环境 = WebHost
      .CreateDefaultBuilder(新字符串[0])
      .UseConfiguration(配置)
      .UseUrls(url)
      .UseContentRoot(Directory.GetCurrentDirectory())
      .UseIISIntegration()
      .UseStartup<WebStartup>();

    返回环境.Build().RunAsync();
  }
}

公共类 WebStartup
{
  公共 IConfiguration 配置 …

.net-core webview2

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

更改环境后,Blazor 中不会自动生成作用域 CSS

ASP Core 5.0VS 2019 Preview 16.9具有CSS scopes与流行的 JS 框架类似的功能,如 Angular。创建新项目后,Host.html包含自动生成的 CSS

<link rel="stylesheet" href="MyNameSpace.styles.css" />
Run Code Online (Sandbox Code Playgroud)
  • 环境设置为 时Development,一切正常
  • 然后,我创建appsettings.Live.json并将环境设置为Live,未生成 CSS 并且尝试加载此 CSS 的 HTTP 请求显示404 Not Found

我错过了什么?

blazor

3
推荐指数
2
解决办法
428
查看次数

实际上分布在奥尔良的哪一部分?

文档中有几个令人困惑的点,让我很难理解奥尔良集群中的分布到底是如何发生的。因此,问题。

问题#1

Orleans 声称拥有内置的分发功能,可以跨多个服务器进行分发。对我来说,奥尔良本身可以充当负载均衡器,并且可以自动扩展。因此,如果我将 Orleans 应用程序部署到多个服务器,那么服务发现和负载管理应该自动发生,对吗?

在这种情况下,为什么一些文档和文章建议使用其他工具(例如 Ocelot 或 Consul)作为 Orleans 集群的单个入口点?

问题2

我想在多个服务器上使用简单但分布式的内存存储,例如 Redis 或 Apache Ignite,并且我想知道是否可以使用简单的颗粒作为这种数据存储?

比方说,一个grain 将存储一系列餐厅,而其他一些grain 将跟踪选定餐厅的最后 1000 名访客。我是否可以将这 2 个grain 作为单例集合仅激活一次,向每个集合添加或删除记录,并将这 2 个grain 用作内存存储,均匀地可供集群中的所有节点使用?另外,如果答案是肯定的,我是否需要向这些集合添加锁,或者每个颗粒始终存在于单个线程中?

orleans

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

获取委托内部的委托参数

有人可以帮我理解如何在委托本身内部获取所有传递给委托的参数吗?

我有课 :

public class ShopManager : ShopEntities
{
    public ShopManager getWhere(Func<Object, Object> dataList)
    {
        var x = dataList.???; // how to get arguments?

        return this;
    }

    public Object getLike(Object dataValue)
    {
        return dataValue;
    }
}
Run Code Online (Sandbox Code Playgroud)

然后我称它为:

ShopManager shopManager = new ShopManager()
var demo = shopManager.getWhere(xxx => shopManager.getLike("DATA"));
Run Code Online (Sandbox Code Playgroud)

问题是:如何在方法getWhere()中获取传递的参数“ xxx”和“ DATA”?

提前致谢。

c# delegates expression

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

找不到自定义"请求"类

我试图在Laravel 5中探索内置的表单验证,如下所述:

https://mattstauffer.co/blog/laravel-5.0-form-requests#2.-create-your-controller

但我总是得到一个错误,说找不到"MyRequest"类.

// My route
Route::post('/contacts', ['as' => 'contacts-store', 'uses' => 'ContactsController@store']);

// My custom request
namespace Demo\Http\Requests;
use Demo\Http\Requests\Request;

class ContactsRequest extends Request {} // now Laravel cannot find this class

// My controller
namespace Demo\Http\Controllers;

use Illuminate\Http\Request;

use Demo\Http\Requests; // namespace where I put my request to
use Demo\Http\Controllers\Controller;
use Demo\Http\Requests\ContactsRequest; // direct reference to the class

class ContactsController extends Controller
{
    public function store(ContactsRequest $request)  // this line throws exception
    {
    }
}
Run Code Online (Sandbox Code Playgroud)

问题:我在控制器的顶部添加了所有需要的命名空间,但是Laravel仍然无法找到我的ContactsRequest类,这怎么可能? …

php laravel laravel-5

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

如何在 Angular 服务中获取泛型类型 T 的名称

需要根据传递给此服务的泛型类型 T 在 Angular 5 服务中创建一些工厂方法。如何获取泛型类型“T”的名称?

@Injectable()
export class SomeService<T> {

    someModel: T;

    constructor(protected userService: UserService) {

        let user = this.userService.getLocalUser();
        let type: new () => T;

        console.log(typeof(type)) // returns "undefined"
        console.log(type instanceof MyModel) // returns "false"

        let model = new T(); // doesn't compile, T refers to a type, but used as a value

        // I also tried to initialize type, but compiler says that types are different and can't be assigned

        let type: new () => T = …
Run Code Online (Sandbox Code Playgroud)

typescript angular

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

如何在父类中获取子属性?

你能回答我下一步该怎么办吗?如何使用Lambda做到这一点?如果此方法不知道委托对象的类型,是否可以委托一些对象实例并使用其属性和方法?

class class_a {
    public string getChildData<T> (T dynamicInstance) {
        return dynamicInstance.prop;
    }
}

class class_b : a {
    public string prop = "prop_b";
}

class class_c : a {
    public string prop = "prop_c";
}

var inst_b = new b ();
var inst_c = new c ();
b.getChildData(b);
c.getChildData(c);
Run Code Online (Sandbox Code Playgroud)

目的:在父类中获取子属性?

更新:使用反射 - http://forums.asp.net/t/1608839.aspx

谢谢,阿尔乔姆

c# lambda expression class parent

0
推荐指数
1
解决办法
6275
查看次数

IntPtr与C ++指针

我认为答案会很短,例如“是”或“否”,所以我一次有两个问题。

问题1:我阅读了IntPtr的理论解释,但与本机C ++指针相比,它更容易理解。可以说我有一些结构。

ref struct CData
{
    double Key;
};
Run Code Online (Sandbox Code Playgroud)

使用本机代码中的指针,我可以做到:

1) int address = & CData; // if i need its address
2) double value = * CData; // if i need value of its field
3) void * pointer1 = CData; // if i want create pointer to struct
4) CData * pointer2 = CData; // if i want create pointer to struct
Run Code Online (Sandbox Code Playgroud)

如果CData是托管对象,则可以通过以下方式完成上述操作:

1) IntPtr address = GCHandle::Alloc(CData).AddrOfPinnedObject() // if i need address
2) cannot get …
Run Code Online (Sandbox Code Playgroud)

pointers c++-cli

0
推荐指数
1
解决办法
6113
查看次数

如何使用 child-process.spawn 从 Gulp 运行 NG BUILD 或禁用 child-process.exec 中的所有输出

有一个类似的问题是这样的 Call "ng build" from inside a gulp task

我管理我的 Gulp 以这种方式构建 Angular 以免溢出输出缓冲区

const child = require('child_process');

// Temporary solution, progress option makes angular more quiet, 
// but I need to shut it up completely

gulp.task('build', ['compile'], (cb) => {
  child.exec('ng build --progress false', (e, stdout, stderr) => {
    cb(e);
  });
});
Run Code Online (Sandbox Code Playgroud)

不幸的是,这只能用作临时解决方案,因为只要 Angular 项目中的文件数量继续增长,子进程.exec 的输出缓冲区迟早会溢出,所以我想使用子进程。 spawn 从 Gulp 构建 Angular,但每次我执行这个

// This is how I want to make it to work

gulp.task('build', ['compile'], () => {
  child.spawn('ng', ['build']); …
Run Code Online (Sandbox Code Playgroud)

gulp angular

0
推荐指数
1
解决办法
1891
查看次数