标签: azure-cloud-services

Azure云服务上的Umbraco 7.0.2 - 拒绝访问路径"E:\ sitesroot\1\config\applications.config"

我在Azure上运行了一个Cloud Service,我正在尝试将Umbraco作为VirtualApplication添加到WebRole:

ServiceDefinition.csdef中:

...
 <Site name="Web">
        <VirtualApplication name="cms" physicalDirectory="../../../umbracocms" />
...
Run Code Online (Sandbox Code Playgroud)

它在模拟器上的本地计算机上运行完美,但是当我将程序包部署到Azure Cloud Service时,我无法访问Umbraco页面,它会返回以下错误:

Access to the path 'E:\sitesroot\1\config\applications.config' is denied.

Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code. 

Exception Details: System.UnauthorizedAccessException: Access to the path 'E:\sitesroot\1\config\applications.config' is denied. 
Run Code Online (Sandbox Code Playgroud)

堆栈跟踪:

[UnauthorizedAccessException: Access to the path 'E:\sitesroot\1\config\applications.config' is denied.]
   System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath) +216
   System.IO.FileStream.Init(String path, FileMode mode, …
Run Code Online (Sandbox Code Playgroud)

c# umbraco azure umbraco7 azure-cloud-services

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

避免删除Azure Cloud Service发布上的文件

我将我的ASP.NET MVC应用程序托管为Azure云服务.

在新部署后,我在删除用户上传的图片时遇到问题.

上传的图片将保存到自定义特殊文件夹中 WebProject/UserFiles/MedicalCenterImages

下面我提供了我的项目文件夹结构.

项目文件夹结构

我发现并调查了几个与我相关的问题

并且弄清楚,我应该在.csproj文件上添加一个SkipDelete规则.

<Target Name="AddCustomSkipRules">
<Message Text="Adding Custom Skip Rules" />
<ItemGroup>
  <MsDeploySkipRules Include="SkipUserFilesFolder">
    <SkipAction>Delete</SkipAction>
    <ObjectName>filePath</ObjectName>
    <AbsolutePath>UserFiles</AbsolutePath>
  </MsDeploySkipRules>
</ItemGroup>
</Target>
Run Code Online (Sandbox Code Playgroud)

但我不完全明白我应该编辑哪个文件?(MaxPatient.Web.csproj或MaxPatientCloudService.ccproj或任何其他文件)

我总是发布我的MaxPatientCloudService项目.

我将不胜感激任何帮助.

谢谢 :)

.net c# asp.net azure azure-cloud-services

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

无效的服务定义或服务配置

我有一个标准的Azure构建 - 一个Web角色,一个worker角色.在最近的合并之后,它确定角色无效.当我双击Web角色或辅助角色时,或者当我右键单击并选择"属性"时,我得到一个灰色屏幕,上面写着"无效的服务定义或服务配置.请参阅错误列表以获取更多详细信息".但是,错误列表中根本没有任何内容.

我已经交叉比较了Settings元素,并尝试评论csdefcscfg文件的各个部分,但似乎没有任何东西可以恢复生命.我已经浪费了半天的时间.我的问题不在于"出了什么问题" - 更像是,在没有给出任何信息的情况下,你应该如何在地球上找出错误是什么,并且连续消隐代码会产生全面的空白?

azure azure-cloud-services

5
推荐指数
2
解决办法
2954
查看次数

使用保留IP时无法更新Azure部署

我正在尝试通过API将诊断扩展安装到现有的Azure云服务中.Cloud Service已分配保留的IP.使用ChangeConfigurationBySlot执行此操作时,我收到" 在部署更新或升级期间无法添加,删除或更改保留的IP ".有谁知道让这个工作的诀窍?这是API中的错过还是我做错了什么?

这是相关的代码段:

var dep = client.Deployments.GetBySlot(resource.ServiceName, DeploymentSlot.Production);
var serviceConfig = XElement.Parse(dep.Configuration, LoadOptions.SetBaseUri);

var config = new DeploymentChangeConfigurationParameters(serviceConfig.ToString())
             {
                 ExtendedProperties = dep.ExtendedProperties,
                 Mode = DeploymentChangeConfigurationMode.Auto,
                 TreatWarningsAsError = false, 
                 Configuration = serviceConfig.ToString(),
                 ExtensionConfiguration = new ExtensionConfiguration
                                          {
                                              AllRoles = new List<ExtensionConfiguration.Extension>(),
                                              NamedRoles = extensionConfig
                                          }
             };
var result = client.Deployments.ChangeConfigurationBySlot(resource.ServiceName, DeploymentSlot.Production, config);
Run Code Online (Sandbox Code Playgroud)

以下是云服务配置的相关部分

<ServiceConfiguration xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" serviceName="IS.Admin.Azure" osFamily="4" osVersion="*" schemaVersion="2014-06.2.4" xmlns="http://schemas.microsoft.com/ServiceHosting/2008/10/ServiceConfiguration">
  <Role name="IS.Admin">
…
  </Role>
  <NetworkConfiguration>
    <VirtualNetworkSite name="is-prod" />
    <AddressAssignments>
      <InstanceAddress roleName="IS.Admin">
        <Subnets>
          <Subnet name="Subnet-1" …
Run Code Online (Sandbox Code Playgroud)

azure azure-cloud-services azure-management azure-management-api

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

为什么New-AzureReservedIP返回ResourceNotFound:未找到任何部署?

我有一个云服务,里面有两个虚拟机.我正在尝试按照本文中列出的步骤来保留我的云服务的IP地址.

Login-AzureRmAccount -TenantId <my tenant id>
Set-AzureRmContext -SubscriptionId <my subscription id>
New-AzureReservedIP -ReservedIPName myname -Location "Central US" -ServiceName mycloudservicename
Run Code Online (Sandbox Code Playgroud)

我总是得到这个错误:

New-AzureReservedIP:ResourceNotFound:未找到任何部署.

VM是在新门户中创建的,但是是经典模式.我不确定这是不是我的问题.我尝试过其他cmdlet组合来添加帐户或设置订阅但没有任何帮助.

有任何想法吗?

virtual-machine azure azure-cloud-services

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

Asp.net Web Api 2 OWIN自托管,高CPU,我应该期望的平均计算负载是多少?

我使用Asp.net Web Api 2构建了一组3个API,使用Azure云服务工作者角色中的OWIN自托管.工作者角色通过自定义域公开到Internet.

每个API都有一个控制器,执行一些正常的字典操作,表调用和Azure Redis调用.2个请求只需执行一次Redis呼叫,并在大约10ms内返回.通过所有API代码时的平均调用是150ms.答案是一个大小约为10k的JSON对象.

一切正常,但我有问题.

我在周围每秒25峰连接和每天不超过2万个请求,我勉强可以得到下面的CPU 40%3天青D2_V2(2个芯,8GB RAM)情况下运行.我遇到了麻烦,因为我每个月花费近1.5k美元用于每秒15-25次呼叫的Api.如果我删除或缩小实例,CPU上升到55-60%, Redis和Azure表调用减慢很多,API请求需要3-5秒才能恢复.

我尽我所能尝试了一切,我认为可能是一些机器人或DDos攻击,所以我安装了nuget包WebApi Throttle,每个IP每秒最多设置1个请求.没有改变.

我查看了所有代码配置,以削减未经优化的部分,但1次调用只是调用redis并返回,其他非常干净和简单C#返回150ms,有2个azure表调用+ 1个azure队列集.

API控制器异步,一切都是异步.

我启用了Profiling,CPU在主要的azure进程中很高,而Redis Get方法,这里没有任何其他相关内容,没有瓶颈.我启用了诊断,没有错误.

我安装了Application Insights,在这里我看到一些奇怪的东西无法判断它是否正常.

我看到这个IP:13.88.23.0使用通常在正常请求中使用的查询字符串值向API 发出数千个请求.其中很多都失败了.这个IP本身就是Azure,为什么要调用Api?其中一些请求停留了几分钟,我可以从Application insights面板看到,它始终是相同的IP.

然后我看到剩下的日志,依赖项等,没有任何相关性.

除此之外,我该怎么做才能理解这个问题? 我不能认为每天只有200万次呼叫消耗如此多的CPU资源是否正常?

我可以使用其他分析技术吗?

根据您的经验,在正常情况下,我应该为3个双核8GB RAM服务器提供多少API调用?(假设我的配置有问题)

谢谢

UPDATE

我在两个云服务中分离了API,2合1和1.我仍然在另一个属于Microsoft的IP的Application Insights调用中看到.我认为这是正常的,可能是应用程序洞察无法检测到客户端的真实IP,因为它是一个工作者角色并显示内部角色.

但是,为这么少的电话使用这么多电力的问题仍然存在.有什么想法吗?

azure-worker-roles asp.net-web-api2 azure-cloud-services azure-application-insights

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

保护Azure云服务配置中的敏感信息

我们正在使用Cloud Service配置来存储应用程序设置。但是,我们希望保护一些应用程序设置,例如用户凭据,数据库连接字符串等。推荐的设置方法是什么?

我们正在从Web角色和辅助角色中读取此配置。因此,不能选择使用aspnet_regiis实用程序,因为该角色在工作角色中不可用,因为未在工作角色中安装iis。

我们也考虑过使用Key Vault,但是最终会遇到保护Key Vault密钥的情况。

不幸的是,Azure云服务不支持托管服务身份

security azure azure-cloud-services

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

Azure云服务嵌入式FTP服务器

我想在Azure云服务工作者角色中托管嵌入式FTP服务器.

要提供对FTP服务器的被动访问,它使用端口范围20000-21000.ServiceDefinition.csdef我在里面定义了所有需要的端口(见截图).

ServiceDefinition.cscfg

主要问题是港口数量巨大.如果我尝试将服务上传到云端,则会出现以下错误.

验证错误:输入端点数无效 - 当前1002,最大值 25

如何通过云服务实现这项工作?

c# azure endpoint ftp-server azure-cloud-services

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

任何人都知道.CSDEF与.CSCFG中包含什么的良好经验法则?

我对532和533考试中的一些问题感到惊讶,这些问题或多或少让我想起了确切的信息,即Cloud Services的配置文件中包含哪些设置。我认为,从根本上来说,如果没有文档在我面前,这是很难分辨的。

例如:在.csdef文件中定义缩放给定角色的实例数,但在.cscfg中定义角色的实例大小。对我而言,为什么一个与另一个相对合适并不明显。

任何人都有任何有用的技巧来记住/回忆往哪里去?

azure azure-cloud-services

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

如何使用下载链接从 Azure Blob 存储下载文件

我制作了一个 Azure 云服务,您可以在其中使用 Blob 将文件上传和删除到云存储。我成功地写了一个方法,你可以从云服务中删除上传的 blob:

 public string DeleteImage(string Name)
    {
        Uri uri = new Uri(Name);
        string filename = System.IO.Path.GetFileName(uri.LocalPath);

        CloudBlobContainer blobContainer = _blobStorageService.GetCloudBlobContainer();
        CloudBlockBlob blob = blobContainer.GetBlockBlobReference(filename);

        blob.Delete();

        return "File Deleted";
    }
}
Run Code Online (Sandbox Code Playgroud)

这也是使用 HTML 进行查看的代码:

@{
ViewBag.Title = "Upload";
}

<h2>Upload Image</h2>

<p>
@using (Html.BeginForm("Upload", "Home", FormMethod.Post, new { enctype = 
"multipart/form-data" }))
{
    <input type="file" name="image"/>
    <input type="submit" value="upload" />
}

</p>

<ul style="list-style-position:Outside;padding:0;">
@foreach (var item in Model)
{
<li>
    <img src="@item" alt="image here" width="100" height="100" …
Run Code Online (Sandbox Code Playgroud)

html c# azure-storage-blobs azure-cloud-services

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