小编And*_*y T的帖子

在Visual Studio Online上进行持续集成的Azure WebJobs部署

朋友们,

我正在尝试使用Azure WebJobs设置持续集成.我在解决方案中有一个Web和一个WebJobs项目.我已经在Visual Studio Online(*.visualstudio.com)中为Web应用程序设置了持续集成和部署.我还使用Visual Studio ASP.Net扩展连接了WebJobs和Web应用程序 - 右键单击​​VS 2013中的WebSite项目>添加>现有Azure WebJob项目.它在网站项目中创建了webjobs-list.json文件.

我期待在Visual Studio Online构建之后,当Azure网站发生Web应用程序部署时,它也将部署WebJobs.但事实并非如此.

在visualstudio.com中构建Visual Studio Online之后,我们如何自动化WebJobs部署?

continuous-integration azure-webjobs azure-devops

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

SQL Server中7天滚动平均值的SQL查询

我有一个每小时产品使用情况表(产品使用次数)数据 -

ID (bigint)| ProductId (tinyint)| Date (int - YYYYMMDD) | Hour (tinyint)| UsageCount (int)
#|1 | 20140901 | 0 | 10
#|1 | 20140901 | 1 | 15
#|1 | 20140902 | 5 | 25
#|1 | 20140903 | 5 | 25
#|1 | 20140904 | 3 | 25
#|1 | 20140905 | 7 | 25
#|1 | 20140906 | 10 | 25
#|1 | 20140907 | 9 | 25
#|1 | 20140908 | 5 | 25
#|2 | …
Run Code Online (Sandbox Code Playgroud)

sql sql-server moving-average

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

基于XMLHttpRequest的基本身份验证的CORS调用在Firefox和Chrome中失败

需要使用javascript(在www.domain1.com)中使用Basic Auth进行REST GET调用.REST API位于domain2.com中.REST API返回CORS特定的HTTP标头.我需要支持IE,Chrome和Firefox.JavaScript下面进一步解释了这个问题 -

  1. 没有Basic Auth(IE 10中的WORKS,Chrome和Firefox,通过XDomainRequest对象处理旧的IE)

    var xhr = new XMLHttpRequest();
    xhr.open(method, url, true);
    
    Run Code Online (Sandbox Code Playgroud)
  2. 使用Basic Auth(仅限IE 10中的WORKS,Chrome和Firefox中的失败)

    var xhr = new XMLHttpRequest();
    xhr.open(method, url, true, username, password);
    
    Run Code Online (Sandbox Code Playgroud)
  3. 使用Basic Auth(在Chrome和Firefox中失败)

    var xhr = new XMLHttpRequest();
    xhr.open(method, url, true);
    xhr.setRequestHeader("Authorization", "Basic " + btoa(username + ":" + password));
    xhr. withCredentials = “true”;
    
    Run Code Online (Sandbox Code Playgroud)
  4. 使用Basic Auth(在Chrome和Firefox中失败)

    $.ajax({
    type: 'GET',
    url: jsonp_url,
    dataType: "json",
    username: username,
    password: pwd,
    beforeSend: function (xhr) {xhr.withCredentials = true; },
    success: function (result) { },
    error: function …
    Run Code Online (Sandbox Code Playgroud)

jquery xmlhttprequest

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

如何使用SendGrid添加Return-Path邮件头

我通过SendGrid从Azure Webjob(C#)发送电子邮件.我没有看到任何在邮件标题中添加Return-Path的选项.可能吗?

return-path sendgrid

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

Azure 应用服务 - 实例与计划的 CPU 百分比

我正在针对我的 Azure Web App P3 定价层运行负载测试。我们有以下自动扩展策略 -

最小实例 5 和最大实例 20,如果 CPU 百分比 (Max) 超过 85%,则增加 1 个实例,如果 CPU 百分比平均值低于 50%,则减少 1 个实例

在此处输入图片说明

现在,它正在运行 5 个实例。如果我转到 Applications Insights,所有可用实例的“实时指标流”窗格,它会显示所有 5 个实例的 CPU 使用率约为 75%(平均)。事实上,一些实例接近 85%。

在此处输入图片说明

然而,如果我转向应用服务计划级别的 CPU 使用率图表(我只有一个应用程序在该计划下运行),它仅显示 20%。

在此处输入图片说明

我们如何调和这两个相互矛盾的统计数据?

azure azure-application-insights azure-app-service-plans azure-web-app-service

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

ASP.NET MVC App中条件编辑操作的基于声明的授权设计

使用基于声明的模型设计 ASP.Net MVC 应用程序授权。假设我们有一个名为 - Product 的对象。通常,有 4 种不同的操作 - 创建、编辑、删除和查看。授权是使用 ClaimsAuthorize 属性完成的。

[Authorize]
public class ProductController : Controller
{

     [ClaimsAuthorize("Product", "VIEW")]
     public List<Product> GetProducts()
     {
         // ....
     }

     [ClaimsAuthorize("Product", "CREATE")]
     public Product CreateNewProduct(Product product)
     {
         //....
     }
}
Run Code Online (Sandbox Code Playgroud)

但就我而言,我必须支持不同类型的 EDIT 权限:

  1. 如果同一用户最初创建了产品,则某些用户可以编辑产品

  2. 如果产品属于特定类别并且用户也有权访问同一类别,则某些用户可以编辑该产品

  3. 部分用户可以编辑所有产品(这是正常的产品编辑操作)

您如何优雅地授权所有这些编辑操作(最好是如上所示的属性驱动),同时我希望将授权代码与正常的 MVC 控制器代码和业务逻辑分开。

[以上代码示例在语法上不正确,我只是为了解释这个问题而编写的] 让我知道您的想法。

asp.net-mvc claims-based-identity

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

Azure Web App和具有Affinity Cookie的粘性会话–可靠吗?

我使用Azure PAAS为我的一个客户制作了一个产品版本– Azure Web App(以前称为Azure网站)。我们在自动缩放模式下用最少2个实例标记了该站点。我们开始收到用户的抱怨,他们断断续续地遇到一些问题,只有当他们在积极使用网站时丢失会话变量时,这些问题才会引起。

我们想知道怎么回事,因为我们将会话保持在“过程中”。我们没有在第1天就单独使用proc会话管理器(基于Redis缓存/基于数据库),因为根据该文档,Azure Web应用程序默认情况下使用粘性会话负载平衡器运行(当运行多个实例时) 。它将ARR亲和力Cookie注入Http响应中,这有助于将用户重定向到与第一次建立会话的实例相同。

要调试此问题,我们开始在页面中打印实际的sessionId。经过多次尝试,我们重现了该问题–令人惊讶的是,会议被交换了。可以说–我的会话ID是“ 1eocgtmwwwwvs1cxksyofne4”,在页面刷新后,它更改为“ 5p1hsxszq2mcqmt5i5ytqg12”,包括所有在会话变量中管理的信息。吓人...不是吗?

伸出援手以提供紧急票证–响应是:

“ Azure Web Apps是一个无状态平台,我们的建议是实施一个最适合您的环境的会话管理解决方案,并避免依赖于内存中会话状态管理,尤其是在您的Web App托管在多个服务器上的情况下。如果您正在考虑在不久的将来实现用于会话管理的缓存解决方案,我们建议您暂时移至单个实例,作为一种解决方法,我们将协助您确保应用程序在单个实例上能够按预期工作。 ”

我完全理解这一点-但是为什么Affinity Cookie会失败。我知道可以禁用Affinity cookie,但我没有将其禁用。我想分享这个故事。对于任何其他基于基于Affinity cookie的粘性负载均衡器的人来说,它可能都是有用的。

顺便说一句:Redis会话提供程序的实现非常容易。只需几分钟即可实现。

现在进行验尸-出了什么问题?我不认为Cookie是“不支持”的浏览器。那为什么即使在我支持cookie的浏览器中它也会间歇性地失败。PAAS资源不断移动/交换....我们无法在proc会话中使用…等等

session-variables azure-web-sites

5
推荐指数
0
解决办法
2033
查看次数

实体框架 - 代码优先 - 违反多重约束,关系Y的角色X具有多重性1或0..1

首先使用代码(EF 6),我创建了1个父 - 2子关系.属性是父对象,属性地址为具有1或0..1关系的子对象.PropertyImage是另一个有1对多关系的孩子.PropertyImage工作正常,但如果我尝试加载,PropertyAddress会抛出错误.

实际错误 -

违反了多重约束."MyAssetTracker.DataLayer.Models.PropertyAddress_Property"关系的角色"PropertyAddress_Property_Source"具有多重性1或0..1.

    // Test Function            
GetProperty()
{
Property property;
            using (var repo = new PropertyRepository())
            {
                property = repo.AllIncluding(a=>a.Images, a=>a.Address).FirstOrDefault(a => a.Id == testpropertyid);
            }
}


//Property Repository
public class PropertyRepository : IPropertyRepository
{


        public IQueryable<Property> AllIncluding(params Expression<Func<Property, object>>[] includeProperties)
        {
            IQueryable<Property> query = context.Properties;
            foreach (var includeProperty in includeProperties) {
                query = query.Include(includeProperty);
            }
            return query;
        }
}

//Property Entity
public class Property : DomainModelAuditBase, IDomainModelState
    {
        private Address _address;
        private ICollection<Asset> _assets;
        private …
Run Code Online (Sandbox Code Playgroud)

entity-framework ef-code-first

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

跨多个SQL服务器的SQL查询

我有2个SQL服务器.我需要一个SQL查询,可以连接两个不同服务器中的2个表.

喜欢

SELECT  *
FROM    Server1.Db1.dbo.table1 A
        INNER JOIN Server2.Db1.dbo.table2 B ON A.Id = B.Id
Run Code Online (Sandbox Code Playgroud)

我没有服务器名称,而是使用服务器的IP地址.我是否需要将这些SQL服务器作为链接服务器启用以允许此类跨服务器查询?

sql sql-server linked-list

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

使用FTP将文件发布到Azure Web App时出错

我遵循此MSDN指南将ASP.Net Web应用程序文件发布/上载到Azure Web App(资源管理器).但是每当子文件夹启动时都会出现UploadFile错误.根文件夹很好.


上传到ftp://XXXXXX.ftp.azurewebsites.windows.net/site/wwwroot/bin/Antlr3.Runtime.dll 从C:\用户\ SampleWebApp\BIN\Antlr3.Runtime.dll

使用"2"参数调用"UploadFile"的异常:

远程服务器返回错误:(550)文件不可用(例如,找不到文件,没有访问权限)


Param(
[string] [Parameter(Mandatory=$true)] $AppDirectory, 
[string] [Parameter(Mandatory=$true)] $WebAppName, 
[string] [Parameter(Mandatory=$true)] $ResourceGroupName 
)

$xml = [Xml](Get-AzureRmWebAppPublishingProfile -Name $webappname `
-ResourceGroupName $ResourceGroupName `
-OutputFile null)
$username = $xml.SelectNodes("//publishProfile[@publishMethod=`"FTP`"]/@userName").value
$password = $xml.SelectNodes("//publishProfile[@publishMethod=`"FTP`"]/@userPWD").value
$url = $xml.SelectNodes("//publishProfile[@publishMethod=`"FTP`"]/@publishUrl").value

Set-Location $appdirectory
$webclient = New-Object -TypeName System.Net.WebClient
$webclient.Credentials = New-Object System.Net.NetworkCredential($username,$password)
$files = Get-ChildItem -Path $appdirectory -Recurse | Where-Object{!($_.PSIsContainer)}

foreach ($file in $files)
{
if ($file.FullName)
$relativepath = (Resolve-Path -Path $file.FullName -Relative).Replace(".\", "").Replace('\', '/')
$uri = New-Object …
Run Code Online (Sandbox Code Playgroud)

ftp powershell azure azure-web-sites

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