小编Rya*_*ice的帖子

有没有办法在ASP.Net Web API中对响应模型属性进行别名

如果要使用JSON样式小写名称从Web Api中的操作方法返回对象,是否有一种方法可以对属性名称进行别名,以便下面的C#对象看起来像后面的JSON对象.

C#响应模型

    public class Account
    {
        public int Id { get; set; }
        public string AccountName { get; set; }
        public decimal AccountBalance { get; set; }

    }
Run Code Online (Sandbox Code Playgroud)

JSON,我想退回

    {
        "id" : 12,
        "account-name" : "Primary Checking",
        "account-balance" : 1000
    }
Run Code Online (Sandbox Code Playgroud)

asp.net-web-api

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

更改MVC 3应用程序中的命名空间名称会导致运行时生成的文件中出现编译错误

我刚刚开始了一个新项目,并重新组织了源结构,包括重命名命名空间.从中更改命名空间后

CRTReadmissions.Web.Helpers
Run Code Online (Sandbox Code Playgroud)

Crt.Readmissions.Web.Helpers
Run Code Online (Sandbox Code Playgroud)

尝试启动应用程序时,我收到如下所示的错误,指示它找不到旧的命名空间.任何帮助是极大的赞赏.

我尝试过的事情

  1. 清洁\重建
  2. 手动删除bin目录
  3. 手动删除生成的文件所在目录的内容

错误

描述:编译服务此请求所需的资源时发生错误.请查看以下特定错误详细信息并相应地修改源代码.

编译器错误消息:CS0246:找不到类型或命名空间名称'CRTReadmissions'(您是否缺少using指令或程序集引用?)

来源错误:

Line 26:     using System.Web.Routing;
Line 27:     using Cassette.Views;
Line 28:     using CRTReadmissions.Web.Constants;
Line 29:     using CRTReadmissions.Web.Helpers;
Line 30:     
Run Code Online (Sandbox Code Playgroud)

源文件:c:\ Windows\Microsoft.NET\Framework64\v4.0.30319\Temporary ASP.NET Files\crtreadmission\203bedd5\1b724153\App_Web_login.cshtml.3f4b83a6.wbzlumh4.0.cs Line:28

generated-code asp.net-mvc-3

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

如何使用Angular的UI Bootstrap分页指令进行服务器端分页

嗨,我们想要使用Angular的UI Bootstrap分页指令进行服务器端分页.我们知道如何创建RESTful端点以从我们的服务器提供页面,但没有看到任何关于如何将该端点挂钩到Angular的UI Bootstrap分页指令的文档.

angularjs angular-ui-bootstrap

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

如何在ESLint中支持ES7

我有一个使用WebPack的项目设置来使用ESLint,我想将ES7用于内联绑定操作符::.目前我收到如下所示的解析错误

/Users/ryanvice/Documents/Code/pluralsight-redux-starter/src/components/project/ProjectsPage.js (1/0)
  ?  7:27  Parsing error: Unexpected token :

/Users/ryanvice/Documents/Code/pluralsight-redux-starter/src/routes.js (2/2)
  ?  6:26  Parse errors in imported module './components/project/ProjectsPage': Unexpected token : (7:27)  import/namespace
  ?  6:26  Parse errors in imported module './components/project/ProjectsPage': Unexpected token : (7:27)  import/default
  !  6:26  Parse errors in imported module './components/project/ProjectsPage': Unexpected token : (7:27)  import/no-named-as-default
  !  6:26  Parse errors in imported module './components/project/ProjectsPage': Unexpected token : (7:27)  import/no-named-as-default-member

? 3 errors ! 2 warnings (4:45:40 PM)
Run Code Online (Sandbox Code Playgroud)

使用.eslintrc包括以下配置"ecmaVersion": 7

{ …
Run Code Online (Sandbox Code Playgroud)

eslint webpack ecmascript-7

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

如何使用ReactJs.net调试服务器端React

我正在评估ReactJs.Net的服务器端渲染,我对如何调试服务器端渲染的react\javascript代码感到有点困惑.有人可以解释选项是什么或指向我的资源?

reactjs.net

9
推荐指数
0
解决办法
330
查看次数

注入您的IoC容器?

我整个上午一直在研究寻找访问IoC的最佳实践.在将构造函数注入添加到类之后,您仍然需要从可能位于应用程序对象图深处的类中访问contianer.在我的情况下,我在WPF中做MVVM,我的一些View Models需要创建其他View Models,他们会使用容器来做到这一点.但问题是他们从何处获取容器.注入并传递它是否有意义?是否可以使其成为可注射的单身人士?供应单身人士的工厂更适合吗?

选项和权衡是什么?

更新

我发现Matt Hinze的这篇很棒的演讲涵盖了很多IoC理由:http://www.drowningintechnicaldebt.com/ShawnWeisfeld/archive/2010/04/08/inversion-of-control-in-action-by-matt- hinze-north.aspx

看起来一个答案是使用扫描功能并将IoC配置存储在每个程序集中的注册表中,然后在扫描期间将添加这些注册表配置.

还有其他方法需要考虑吗?特别是考虑到Matt演示了使用ServiceLocator模式,而Mark Seeman称之为反模式.请注意,Matt警告不要过度使用该模式,并且Mark对服务定位器的定义(http://blog.ploeh.dk/Trackback.aspx?guid=5f05c086-295b-41e5-a50a-ed0cd77ac4bd)似乎与Matt演示的不同.

dependencies inversion-of-control code-injection

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

无法让Twitter.Bootstrap.Mvc4.sample在空的MVC4项目中工作

我已经将Twitter.Bootstrap.MVC4安装到Asp.Net MVC Empty项目模板中,当我启动应用程序时,样式表存在问题.它看起来像他们没有链接.屏幕抓取下面.

Bootstrap.MVC4输出

头部在下面

<head>
    <meta charset="utf-8">
    <title></title>
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <link href="/content/css?v=o7EqNjjD8FotmTy6On6adamUxH559LswOFRclfNrDPM1" rel="stylesheet"/>

       <!-- Le HTML5 shim, for IE6-8 support of HTML5 elements -->
<!--[if lt IE 9]>
  <script src="/scripts/html5shiv.js"></script>
<![endif]-->


</head>
Run Code Online (Sandbox Code Playgroud)

asp.net-mvc-4 twitter-bootstrap

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

Ninject 3.0中基于约定的绑定

我正在尝试在我的新项目上设置Ninject,我想使用对流来扫描组件

IFoo
Run Code Online (Sandbox Code Playgroud)

将自动解决

IBar
Run Code Online (Sandbox Code Playgroud)

所有样本和文档都描述了使用这种方法

kernel.Scan(...)
Run Code Online (Sandbox Code Playgroud)

虽然Ninject 3 Kernel似乎使用了.Load.如果我使用Load进行扫描,那么如何使用约定配置扫描?

编辑

我能够使用它来运行:https://github.com/ninject/ninject.extensions.conventions/wiki/What-is-configuration-by-convention

但是,现在我无法加载我的模块.我正在使用下面的代码并得到以下错误.

    IKernel kernel = new StandardKernel();
    kernel.Bind(x => x
        .FromAssembliesMatching("Crt.*.dll")
        .SelectAllTypes()
        .BindAllInterfaces()
        );
    kernel.Load("*.dll");
    return kernel;
Run Code Online (Sandbox Code Playgroud)

错误:

Ninject.ActivationException was unhandled
  Message=Error activating ITrainingEngine
More than one matching bindings are available.
Activation path:
  1) Request for ITrainingEngine

Suggestions:
  1) Ensure that you have defined a binding for ITrainingEngine only once.

  Source=Ninject
  StackTrace:
       at Ninject.KernelBase.Resolve(IRequest request) in c:\Projects\Ninject\ninject\src\Ninject\KernelBase.cs:line 380
       at Ninject.ResolutionExtensions.GetResolutionIterator(IResolutionRoot root, Type service, Func`2 constraint, IEnumerable`1 parameters, …
Run Code Online (Sandbox Code Playgroud)

conventions ninject-3

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

创建概念域模型的方法

我们正在尝试在我当前的项目中使用DDD技术,并开始经历域建模过程,并且在"如何"创建域模型方面经历了很多摩擦.我没有找到很多关于这个主题的指导的例子.

我们首先尝试通过与业务用户交谈并提出域实体及其属性的列表来定义无所不在的语言.这很顺利,但我们遇到的问题包括:

  • 行为,行动
  • 权限
  • 业务逻辑(如果attributeA = true则foo else bar)

关于如何捕获所有这些不同的东西(序列图,用例,流程图等等),我有很多想法,但如果有正式的流程或一些资源提供示例驱动的指导,它肯定会加速事情好一点.

domain-driven-design

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

在嵌套的promise链中重新抛出异常

我正试图找出一种在AngularJs中链接承诺的简洁方法.我的目标是不使用$ q重写$ http承诺,而是利用$ http.xxx()方法返回promise并使用链接这一事实.在下面的代码中,我试图满足以下用例.

注意:如果我删除了内置的.catch()块,我的404将被外部catch()捕获.我尝试使用then(actionHandler,errorHandler)方法,并尝试从.catch()返回一个字符串,并尝试在.catch()中使用this.reject().

Give $scope.username is Bret 
When calling getPosts() and getting a 404 from /users 
Then scope.error has a message indicating that the user wasn't found
Run Code Online (Sandbox Code Playgroud)

//代码

angular.module('app', [])
    .controller('MainController', function ($scope, $log, $q, $http) {
        $scope.posts = [];
        $scope.message = "";

        function getUserByUserName(userName) {

            return getUsers()
                .then(function (response) {

                    var user;

                    for (var i = 0; i < response.data.length; i++) {
                        if (response.data[i].username === userName) {
                            user = response.data[i];
                            break;
                        }
                    }

                    return user;
                }).catch(function (error) …
Run Code Online (Sandbox Code Playgroud)

javascript promise angularjs angular-promise

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

vue.config.js 中的 Vue devServer.proxy 不起作用

我在存储库根目录中使用以下配置vue.config.js,但它不起作用。

  module.exports = {
    devServer: {
        proxy: "http://localhost:3030"
      }
  }
Run Code Online (Sandbox Code Playgroud)

这就是我试图称呼它的方式

  return await fetch("/posts", options).then((response) =>
    response.json()
  ).catch(e => console.log("Error fetching posts", e));
Run Code Online (Sandbox Code Playgroud)

但是,当我将调用代码更改为下面显示的代码时,一切正常

  return await fetch("http://localhost:3030/posts", options).then((response) =>
    response.json()
  ).catch(e => console.log("Error fetching posts", e));
Run Code Online (Sandbox Code Playgroud)

编辑

我应该提到我正在使用 Vite 进行构建,因为这给我带来了一些环境变量的其他问题,因此它们也可能导致代理出现问题。

我对此进行了更多研究,结果发现 Vite 确实具有代理功能,因此我尝试更新我的代码以使用他们的代理,但仍然没有成功。

// vite.config.js
import { defineConfig } from 'vite'
import vue from '@vitejs/plugin-vue'

// https://vitejs.dev/config/
export default defineConfig({
  plugins: [vue()],
  server: {
    "/posts": "http://localhost:3030/posts"
  }
})
Run Code Online (Sandbox Code Playgroud)

vue.js vite

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

当我将Twitter.Bootstrap版本从2.3改为3.0时,为什么按钮会失去他们的3D风格?

我正在努力将Twitter.Bootstrap集成到我正在创建的新网站中,我的按钮看起来很扁平,而不像示例.在玩了一下后,通过更改样式表和javascript引用以使用旧版本,我能够获得3d外观按钮.

这是2.3.1的工作代码

<!DOCTYPE html>
<html>
  <head>
    <title>Bootstrap 101 Template</title>
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <!-- Bootstrap -->
      <link href="http://netdna.bootstrapcdn.com/twitter-bootstrap/2.3.1/css/bootstrap-combined.min.css" rel="stylesheet" media="screen"/>
  </head>
  <body>
      <h1>Hello, world!</h1>
      <button class="btn">hello</button>
    <script src="http://code.jquery.com/jquery.js"></script>
    <script src="http://netdna.bootstrapcdn.com/twitter-bootstrap/2.3.1/js/bootstrap.min.js"></script>
  </body>
</html>
Run Code Online (Sandbox Code Playgroud)

显示如下所示

在此输入图像描述

这是相同的代码,只更新了版本号

<!DOCTYPE html>
<html>
  <head>
    <title>Bootstrap 101 Template</title>
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <!-- Bootstrap -->
      <link href="http://netdna.bootstrapcdn.com/bootstrap/3.0.0/css/bootstrap.min.css" rel="stylesheet">
  </head>
  <body>
      <h1>Hello, world!</h1>
      <button class="btn">hello</button>
    <script src="http://code.jquery.com/jquery.js"></script>
    <script src="http://netdna.bootstrapcdn.com/bootstrap/3.0.0/js/bootstrap.min.js"></script>
  </body>
</html>
Run Code Online (Sandbox Code Playgroud)

哪个显示为平面样式,如下所示.在这里看着它我也意识到还有其他一些风格问题.像边缘看起来错误,字体看起来很像.

在此输入图像描述

twitter-bootstrap-3

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

DotNetCore 3.1 中的配置双下划线似乎没有像我预期的那样工作

我试图让配置在 ASP.Net core 3.1 中使用双下划线,如下所述: https: //learn.microsoft.com/en-us/aspnet/core/fundamentals/configuration/ ?tabs=basicconfiguration&view=aspnetcore -3.1#环境变量

我已经编写了一些手动执行此操作的配置代码

  1. 检查环境变量
  2. 检查 AppSettings...json 文件

但我发现在 .net 3.1 中,默认情况下应该支持这一点,但需要注意 UNIX 平台上的层次结构设置。在这种情况下你不能使用这个语法

Configuration["SomeSection:SomeConfig"]
Run Code Online (Sandbox Code Playgroud)

解决这个环境变量

## Environment Var
SomeConfig:SomeConfig
Run Code Online (Sandbox Code Playgroud)

因为 Linux 不支持环境变量名称中的冒号。然而,如果代码部署到 Windows 机器上,这将起作用。因此 .net 似乎表明您可以使用此语法

Configuration["SomeSection__SomeConfig"]
Run Code Online (Sandbox Code Playgroud)

这将解决以下任何配置

// AppSettings...json
{
   "SomeSection" {
      "SomeConfig": "some value"
   }
}
Run Code Online (Sandbox Code Playgroud)

或者

# Environment Var on linux
SomeConfig__SomeConfig
Run Code Online (Sandbox Code Playgroud)

或者

// Environment Var on windows
SomeConfig:SomeConfig
Run Code Online (Sandbox Code Playgroud)

有谁知道我做错了什么?

编辑:请注意,我知道这个问题的答案,并且如果重新打开它,我会很乐意回答它。

.net-core asp.net-core

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