小编Nar*_*ana的帖子

在Windows服务中使用OWIN托管WebAPI

我使用OWIN(在Windows服务中)自我托管Web API.据我所知,这足以让HTTP请求进入Windows服务.我可以在http://localhost/users本地(来自同一台机器)点击WebAPI URL(),但不能从其他机器点击.我正在使用端口80,IIS已停止.当IIS运行时,其他网站(在IIS中,在端口80上托管)可以正常工作.

//在Windows服务中:

public partial class Service1 : ServiceBase
{
    ...
    ...

    protected override void OnStart(string[] args)
    {
        Console.WriteLine("Starting service...");
        string baseAddress = "http://localhost:80/";
        WebApp.Start<Startup>(baseAddress);  //This is OWIN stuff.
    }
    ...
    ...
}

public class Startup
{
    // This code configures Web API. The Startup class is specified as a type
    // parameter in the WebApp.Start method.
    public void Configuration(IAppBuilder appBuilder)
    {
        // Configure Web API for self-host.
        var config = new HttpConfiguration();
        WebApiConfig.Register(config);
        appBuilder.UseWebApi(config); …
Run Code Online (Sandbox Code Playgroud)

asp.net-web-api owin

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

Helm 有条件地安装子图

有没有办法根据全局 values.yaml 有条件地安装舵子图?我将所有内部服务和组件都作为子图表,其中之一是消息队列图表。在我的开发和测试环境(本地 k8s)中,我使用 RabbitMQ,在 staging 和 Prod (AKS) 中,我使用 Azure 服务总线。根据namespace/values.yaml,我要不要安装rabbitmq。

PS - 我已将所有组件创建为子图表,以便它们都是单个版本的一部分。

kubernetes-helm

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

SQL Server 2008中的分区对齐索引

如何查找SQL 2008中的表上的索引是否与分区对齐?

sql indexing

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

执行PUT/POST时没有HTTP资源错误[CORS问题 - AngularJS + Web API 2]

在SO中有这么多问题与此类似,但没有一个问题解决了我的问题.

我已经托管了一个angularjs网站http://localhost:49595,我正在调用一个Web Api 2.1服务http://localhost:63019.我在web.config中的web api服务器上启用了CORS.GET/buildings/1和GET/buildings /?$ top = 10&$ skip = 1的请求工作正常.

说到PUT,我收到以下错误:{"Message":"找不到与请求URI匹配的HTTP资源http://localhost:63019/buildings/1105'.","MessageDetail":"在控制器'Building'上找不到匹配的操作要求." }

chrome中出错

我可以看到浏览器将OPTIONS请求发送到服务器,但是要更新的实际数据不在请求中(在fiddler中检查.不确定OPTIONS查询是否正常).

在此输入图像描述

我在web api上启用了跟踪,我看到了以下日志.https://gist.github.com/rnarayana/8905229 OPTIONS请求(第69行)说它需要进行PUT.在第77行附近,看起来它选择了正确的动作.然后控制器被处理掉.此外,控制器正在实例化两次.

我怎样才能知道发生了什么?

在AngularJS中调用代码:尝试:

$http.put('http://localhost:63019/buildings/' + building.BuildingId, building)
.then(onSuccess, onError);
Run Code Online (Sandbox Code Playgroud)

$http({
    url: urlBase + '/' + building.BuildingId,
    dataType: 'json',
    method: 'PUT',
    data: building,
    headers: {"Content-Type": "application/json"}
}).then(onSuccess, onError);
Run Code Online (Sandbox Code Playgroud)

这些在我的控制器中:

[HttpGet]
[Route("buildings/")]
public IHttpActionResult GetAll(ODataQueryOptions<BuildingViewModel> queryOptions)
{
}

[HttpGet]
[Route("buildings/{id}")]
public IHttpActionResult Get(long id)
{
}

[Route("buildings/")]
[HttpPost]
public IHttpActionResult Post(BuildingEditViewModel buildingEditViewModel)
{
}

[HttpPut]
[Route("buildings/{id}")]
public …
Run Code Online (Sandbox Code Playgroud)

put cors asp.net-web-api angularjs

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

Web API和AngularJS SPA应用程序的身份验证

我有两个服务器 - 网络和应用程序.Web服务器(IIS)仅提供静态文件 - HTML/CSS/JS.在执行JS时,客户端从应用服务器获取数据(使用Web API的HTTP服务,由OWIN自托管).我需要引入身份验证,以便限制我的数据和内容.

我可以使用SSL,我可以将用户名/密码传递给web api,对其进行身份验证并获取令牌.我可以为将来的web api请求传递此令牌.在我的客户端应用程序javascript(使用AngularJS完成)中,我还可以维护用户是否经过身份验证,具有哪些角色等信息(用户体验).但为了安全起见,我需要能够确保所请求的html内容(在Web服务器中)也进行了身份验证和授权.我怎样才能做到这一点?

我应该更改我的应用程序以使Web服务器在内部而不是从客户端调用应用程序服务器吗?我可以使用MVC控制器或ASP.NET,但由于我使用的是AngularJS,我认为它不是必需的,并且有点重复.我应该抛弃纯.html文件并转移到.cshtml吗?

当您的数据来自与您的htmls不同的服务器时,如何在Angular + .NET世界中完成此操作

authentication asp.net-mvc authorization asp.net-web-api angularjs

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

如何在C++中打印出BST

我的C++程序创建了一个二叉搜索树.我知道如何在预订,后订单和有序中打印出值.

但是,我想做一些更困难的事情.如果有人在纸上画树,我想以他们看的方式打印出值.它的根部位于顶部的中心,它的左下方是儿童的左下方,而右下方是正确的儿童.其余的节点将相应地绘制.

我怎样才能做到这一点?

c++ printf binary-tree nodes

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

在Debug构建期间禁用SonarLint分析

是否可以(在Visual Studio中使用SonarLint扩展)在Debug构建期间禁用Sonar分析器,但是在Release版本中是否启用它们?原因是将解决方案连接到SonarQube大大增加了构建时间.

c# sonarlint sonarlint-vs

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

在URL更改时关闭角度模式 - 控制台中的错误

我正在使用Angular bootstrap Modal来显示一个弹出窗口.单击textarea/browser back按钮外的退格键,我想取消弹出窗口并继续更改URL.默认行为是模态后面的页面发生变化,但模态仍然位于顶部.

在模态实例的控制器中,我添加了一个

$ scope.$ on('$ routeChangeStart',function(){...});

它工作正常,但每当再次调用控制器时我都会看到错误.再次调用$ modalInstance.dismiss(),但在库中,它会抛出异常.

这是带有代码和repro步骤的plunkr.观察浏览器控制台是否有错误.

http://plnkr.co/UKXa6uFvy0ODHylMj28s

我做错了什么,或者是modal.js中的错误?

编辑:我不认为我的控制器范围是正确的.为什么AddCtrl的$ scope.$ on('$ routeChangeStart'在我导航到MainCtrl时被调用?

modal-dialog angularjs angular-ui-bootstrap

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