小编Pal*_*mar的帖子

带API网关的微服务

对于我的新项目,我必须使用Micro服务和Api网关.所以我收集了有关Micro Service的详细信息,但Api Gateway部分并不清楚.

我的问题是,

  1. 有人知道如何在Api网关中完成请求路由部分吗?
  2. 这可以通过简单的if条件[ 伪代码: if(keyword =="product")然后路由("产品服务")]来完成吗?
  3. 或者这是更好的方法吗?

我正在使用C#.Net来开发Api.
我从https://www.nginx.com/blog/building-microservices-using-an-api-gateway/获得了一些关于Api Gateway的信息

Api Gateway

c# api gateway microservices

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

EF Core 3.0 中的存储过程

如何在 EF Core 3.0 中使用存储过程?

我已经尝试了以下

var user = await _context.Query<User>().FromSql("EXECUTE dbo.spGeneral_Authenticate").FirstOrDefaultAsync();

var user = await _context.Query<User>().FromSqlRaw("EXECUTE dbo.spGeneral_Authenticate").FirstOrDefaultAsync();

var user = await _context.Set<User>().FromSql("EXECUTE dbo.spGeneral_Authenticate").FirstOrDefaultAsync();

var user = await _context.Set<User>().FromSqlRaw("EXECUTE dbo.spGeneral_Authenticate").FirstOrDefaultAsync();
Run Code Online (Sandbox Code Playgroud)

EF 核心以错误的方式翻译 SQL。我从日志文件中得到了翻译后的 SQL。

2019-09-27 11:21:36.086 +05:30 [错误] 执行 DbCommand 失败 ("30"ms) [Parameters=[""], CommandType='Text', CommandTimeout='30']" ""SELECT TOP(1) [u].[全名], [u].[密码], [u].[用户名] FROM ( EXECUTE dbo.spGeneral_Authenticate ) AS [u]" 2019-09-27 11:21:36.154 + 05:30 [错误] 迭代上下文类型“__________Context”的查询结果时发生异常。“”“Microsoft.Data.SqlClient.SqlException (0x80131904):关键字“EXECUTE”附近的语法不正确。不正确')' 附近的语法。

翻译后的 SQL:

SELECT TOP(1) [u].[FullName], [u].[Password], [u].[UserName]
FROM (
    EXECUTE dbo.spGeneral_Authenticate
) AS [u]
Run Code Online (Sandbox Code Playgroud)

.net-core-3.0 ef-core-3.0

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

如何在EF Core 3.0中将存储过程与SqlParameters一起使用

我已经尝试了以下

var p = new SqlParameter("Option", "AUTHENTICATE");
var user = _context.Set<User>().FromSqlRaw("EXECUTE dbo.spGeneral_Authenticate @Option", p).ToList();
var user = _context.Set<User>().FromSqlRaw("EXECUTE dbo.spGeneral_Authenticate @Option=@Option", p).ToList();
Run Code Online (Sandbox Code Playgroud)

SqlParameter[] ps = new SqlParameter[1];
ps[0] = new SqlParameter("Option", "AUTHENTICATE");
var user = _context.Set<User>().FromSqlRaw("EXECUTE dbo.spGeneral_Authenticate @Option", ps).ToList();
var user = _context.Set<User>().FromSqlRaw("EXECUTE dbo.spGeneral_Authenticate @Option=@Option", ps).ToList();
Run Code Online (Sandbox Code Playgroud)

错误:

InvalidCastException:SqlParameterCollection仅接受非null的SqlParameter类型对象,而不接受SqlParameter对象。

.net-core-3.0 ef-core-3.0

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

WPF - 将相同的样式设置为多个控件

是否可以将相同的样式设置为多个控件?我尝试了以下方式.但第一个按钮样式未正确应用,第二个样式应用正常.

设计:

<StackPanel Orientation="Horizontal">
    <TextBlock Foreground="White" Margin="0,0,5,0">1st Button</TextBlock>
    <Button Style="{StaticResource ViewButton}" />
    <TextBlock Foreground="White" Margin="25,0,5,0">2nd Button</TextBlock>
    <Button Style="{StaticResource ViewButton}" />
</StackPanel>
Run Code Online (Sandbox Code Playgroud)

资源:

<Style x:Key="ViewButton" TargetType="Button" BasedOn="{StaticResource ButtonStyle}">
    <Setter Property="Content">
        <Setter.Value>
            <StackPanel Orientation="Horizontal">
                <Image Source="/Images/View.png" Stretch="None" Width="24" Height="24" />
                <TextBlock Margin="5,0,0,0" HorizontalAlignment="Center" VerticalAlignment="Center" FontWeight="Bold">View</TextBlock>
            </StackPanel>
        </Setter.Value>
    </Setter>
    <Setter Property="Padding" Value="2,0,10,0"/>
</Style>
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

c# wpf resourcedictionary

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