小编Pao*_*ati的帖子

阻止Visual Studio 2015删除VB.NET文件中的行继续符(_)

我在Visual Studio 2015中打开一些旧的VB.NET项目,当我编辑代码时,VS会更改语法:

它删除了连接中的"_":

'Before
myString = "ABC" & _
           "DEF"

'After
myString = "ABC" & 
           "DEF"
Run Code Online (Sandbox Code Playgroud)

或者在之前添加一个空格!:

'Before
myDatatable.Rows(0)!myColumn

'After
myDatatable.Rows(0) !myColumn
Run Code Online (Sandbox Code Playgroud)

此语法与Visual Studio 2010或2013不兼容.

如何禁用此更改?

.net vb.net continuation visual-studio-2015

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

ASP.NET Core API 中的常规路由

问题:

我正在使用 NET Core 3.1 创建 API 应用程序。我想避免在每个ApiControllers和操作上设置路由属性。我尝试了很多组合UseEndpoints来设置常规路线,但我失败了。

对于某些配置,我无法使 Api 正常工作,而在其他一些配置中,我在启动过程中遇到此异常:

InvalidOperationException:操作“ApiIsWorking”没有属性路由。使用 ApiControllerAttribute 注释的控制器上的操作方法必须进行属性路由。

如何startup.cs使用类名和方法名设置自动映射控制器?

谢谢!

一些代码:

启动文件

...
services.AddControllers()
...

app.UseHttpsRedirection()
   .UseRouting()
   .UseAuthentication()
   .UseEndpoints(endpoints => ?? )
   .UseCoreHttpContext()
   .UseServerConfiguration();
Run Code Online (Sandbox Code Playgroud)

控制器.cs

[ApiController]
public class BaseAPI : ControllerBase 
{
        [HttpGet]
        public string ApiIsWorking()
        {
            return "API is working!";
        }
}
Run Code Online (Sandbox Code Playgroud)

解决方案:

正如 Reza Aghaei 在解决方案中所说,错误是添加了 ApiController 属性。删除它后,命令 UseEndpoints 开始工作。

我的错误是添加属性以便能够识别应通过 API 公开哪些类。这是没有必要的,因为 UseEndpoints 只映射从 ControllerBase 继承的类。

警告:

1)常规路由需要[FromBody]动作参数中的属性。

2) 我强调了 Zinov …

c# asp.net-apicontroller asp.net-core asp.net-core-webapi asp.net-core-3.1

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