用C#部署Azure应用程序ASP.NET-错误的CrystalReports
我来这个伟大的 Microsoft .NET 社区寻求指导 我是一名 Java 开发人员,我一直使用为 Java 环境设计的架构. 我最终有机会实施一个 ASP 项目.NET 在 AZURE 的 clound 环境中使用 C#. 对于那些从未工作或学习过 .NET 生态系统的工具和语言的人来说,这是一次很棒的学习体验. 如果有人知道如何指导我,我将不胜感激,我已经在互联网上研究过这个问题,但我没有找到简单的解决方案,或者至少不适合我. 我的问题如下:通过 Visual Studio 2012 工具的公共菜单将项目部署到 Azure 后,尝试通过浏览器访问应用程序时出现消息: 该项目使用名为 Crystal 的工具和另一个名为 Telerik 的工具来生成报告和图表. 为了建立本地开发环境,我们必须安装这些工具,但是如何在 Azure 环境中安装它们呢?这是我的问题,我仍然找不到解决方案. 感谢您的帮助. 解决方案 应用服务 Web
372 2022-08-21
编程技术问答社区
Azure WebSites拒绝对Google Api的访问
我正在开发 Web 表单应用程序使用的 dll.dll 的功能之一是创建 Google CalendarService 并使用它.当我在本地主机上运行网络表单时,一切运行顺利.但是,如果我从 Azure 网站运行它 “GoogleWebAuthorizationBroker.AuthorizeAsync"方法抛出HttpListenerException (0x5):访问被拒绝 这是一个堆栈跟踪: [HttpListenerException (0x5): Access is denied] Microsoft.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task) +82 Microsoft.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccess(Task task) +71 Mosoft.Integrations.Calendar
104 2022-08-21
编程技术问答社区
为什么我可以在部署槽之间交换一些设置,而对其他设置却不能交换?
我注意到 Azure 应用服务的一些部署槽设置可以交换,但其他的不能交换.你知道为什么吗? 解决方案 首先我们应该明白,插槽主要用于快速部署网站的新版本.不建议在插槽上运行(例如)暂存环境. 根据文档,这些设置不会被交换: 发布端点 自定义域名 SSL 证书和绑定 比例设置 WebJobs 调度程序 如果其中任何一个会被交换,那将意味着您的应用程序将中断.方式不止一种. 例如,您必须更改部署的发布端点,因为它们会与插槽交换.这意味着每次交换插槽都要更新你的 CI/CD 环境. 连接到您的 production 插槽的自定义域名现在将指向辅助插槽,从而使交换变得无用.因为您的域仍然指向旧版本! 如果有人设法到达新版本(这会很困难,因为自定义域名仍指向另一个插槽),则 SSL 证书(和绑定)将不存在.发生在提供 HSTS 标头的网站上的图像. 您可以为这些设置中的每一个在交换插槽时不交换至少一个充分理由.
78 2022-08-21
编程技术问答社区
应用服务和Webjob之间的共享锁
我想在 Webjob 和应用服务代码之间拥有一个共享锁.我在 C# 中尝试过 lock 关键字和 mutex,但它们似乎不起作用.我能想到的另一种选择是 Blob 租约,它也是用于在 webjobs 环境中锁定的锁定机制,如 这里. Azure 网络作业是否在与应用服务完全不同的环境中运行,这样共享锁无法正常工作,还是我遗漏了什么?有没有其他办法? 解决方案 WebJobs 在单独的进程中运行,因此 C# 中的 lock 将不起作用. 对 blob 的租约是一种创建分布式锁的方法.这是一篇可以为您指明正确方向的文章:https://medium.com/veyotech/using-an-azure-lease-blob-as-a-distributed-mutex-a9608c918801
80 2022-08-21
编程技术问答社区
从第一个重定向请求到HTTPS的Azure Web App上删除响应服务器头
我正在尝试从 Azure Web 应用程序(使用 ASP Net 核心应用程序)中删除响应服务器标头 在多次尝试更改 web.config 并使用中间件删除应用代码中的标头后,Microsoft 没有放弃并将响应标头设置为 Server: Microsoft-IIS/10.0 :) 仅当我尝试通过 http(不是 https)访问服务器时才会出现此问题.来自服务器的响应代码是 301,这是唯一具有 Server 标头的响应. 检查日志我找不到任何对 http://的请求,这也许就是我无法删除标头的原因,因为我的应用程序代码中没有处理该请求. 我正在考虑的一个解决方案是禁用 azure HTTPS only 并在我的代码中重定向到 https(我测试并且正在工作 - 服务器标头已删除) 是否有其他解决方法而不禁用仅 HTTPS 选项? 这是我尝试过的 Startup.cs public void Configure(IApplicatio
扩展Azure移动服务:添加MVC和新路线
我的 azure 移动服务运行了一段时间,现在我想向它添加一个网站,这样我就可以在 azure 云中的一台机器上同时托管网站和后端服务.我添加了 MVC 和所有相关的脚手架,如控制器、视图和注册路由.我遇到的问题是,我添加的新路由“/Home/Index"不知何故被重新路由到启动 azure Web 服务页面 这些是我添加的代码中的部分.控制器: [RoutePrefix("Home")] public class HomeController : Controller { [Route("Index")] public ActionResult Index() { return View(); } } 查看: 路线: config.Routes.MapHttpRoute( name: "Default", routeTemplate: "{controller}/{ac
44 2022-08-21
编程技术问答社区
关于Azure上ClickOnce主机的问题
遵循此 文章,我已成功将我的 ClickOnce 应用托管到 Azure Blob 存储. 但是用户应该使用哪个 URL 来安装应用程序.例如,当您使用 VS2019 将应用程序发布到网站时,它会创建一个 publish.html 页面,用户可以使用其 URL 来安装应用程序.但是这里我们没有那个 publish.html 页面.那么,在这种情况下我们该怎么办? 解决方案 nam.很高兴告诉你如何生成publish.htm. 经过我的测试,我找到了无法生成piblish.htm的原因.我的开发 IDE 和你一样 Microsoft Visual Studio Enterprise 2019.它可能会升级并失去一些关于发布的功能.您应该使用 vs2017 发布应用程序.我尝试并成功. 此链接是我的演示网址,您可以查看.Jason 的演示 关于如何设置发布设置的文档链接如下, 如何设置发布设置生成publish.htm 添加配置图片,右键proje
60 2022-08-21
编程技术问答社区
ARM模板网络应用程序认证设置不工作
我正在设置我的站点身份验证设置以使用 AAD 提供程序.大多数模板都受到尊重.但是,未正确分配 unauthenticatedClientAction 和 allowedAudiences.我观察到“允许匿名"并且没有分配“允许的观众". 请注意,我使用的是 ARM 模板 API 2018-02-01.由于文档原因,此问题可能仍然存在,如果您提供答案,请注意它所解决的 ARM 模板版本. 此外,为 ARM 文档团队创建问题以纠正任何问题. 这是我用于这些设置的模板段.它嵌套在我的网站模板中的资源下. 根目录>Microsoft.Web/Site >资源 { "type": "config", "name": "web", "apiVersion": "2016-08-01", "location": "[parameters('app-location')]", "dependsOn": [ "[resou
96 2022-08-21
编程技术问答社区
Azure应用服务在应用前终止了https?
我正在框架 2.2 上构建一个 asp.net 核心 Web 应用程序,并在一个 linux 应用程序服务计划上的 azure 应用程序服务上托管. 在我的应用程序中,我检查 HttpRequest.Scheme.如果我使用 https 发出请求,则在本地运行这将返回 https.在 azure 上运行它会返回 http. Azure 应用服务似乎正在终止 SSL 连接并代理到我的应用.有没有办法配置 Azure 应用服务,使 https 请求不加修改地发送到我的应用程序?或者至少 HttpRequest.Scheme 匹配原始请求? 我已经构建了一个示例诊断页面来显示这种行为: var healthStatus = new { Port = context.Request.Host.Port?.ToString() ?? "unknown", context.Request.Scheme, context.Request.IsHttps,
78 2022-08-19
编程技术问答社区
在Azure上为现有网站添加虚拟目录
是否可以使用管理仪表板执行此操作:https://manage.windowsazure.com 解决方案 虚拟目录是支持 Azure 网站.请参阅 配置 Azure 网站,了解您可以通过 Azure 管理门户.在 Azure 门户中,单击 网站 并转到 配置,然后向下滚动到 虚拟应用程序和目录(最后一个配置部分).只需输入您的虚拟目录和相对于站点根目录的物理路径,然后单击保存. 作为 Azure 网站 的替代方案,您可以使用 云服务 Web 角色 或 虚拟机 功能.您还可以使用 Azure 存储 链接到您的静态内容.
294 2022-07-19
编程技术问答社区
通过FTP连接到Azure网站
我使用什么登录凭据连接到 Azure 仪表板上列出的 FTP 站点?我尝试使用与登录 Azure 相同的凭据,但这失败了.TIA. 解决方案 此信息适用于 第二代 azure 门户.请参阅下面的更新信息. 显示FTP 主机名 和部署/FTP 用户 的同一仪表板包含一个链接/按钮,用于重置您的部署凭据.此选项允许您指定用于 ftp 访问和部署的密码. 并确保您将 siteName\userName 指定为您的登录名(siteName 是必需的!) 在 new² azure 门户中,可以通过转到应用服务/选择相关项目/设置/部署凭据/输入新凭据并保存.
432 2022-07-19
编程技术问答社区
AWVERIFY不能正常运行
昨天下午 3 点左右,我为两个要从一个 Azure 帐户转移到另一个网站的网站设置了 awverify 记录.到最后,Azure 仍然不允许我添加我的域,所以我赌了一把,将域和 www 子域重新指向新 IP.今天早上我的网站当然已经关闭,Azure 仍然不会接受我的域.我不得不将域和 www 子域指向旧 IP. 显然,我期待 awverify CNAME 没有传播的响应,但我的 DNS 和我在线检查的其他 DNS 在一小时内发生了变化.为什么 Azure 需要 18 小时并且还在计数? 我很确定我已正确设置它... 解决方案 我找到了答案,虽然我在其他地方找不到这个文档.问题的原因是我正在从一个 Azure 帐户迁移到另一个帐户.Azure 似乎不允许两个网站(即使在不同的帐户中)使用相同的主机名. 从旧帐户中删除主机名后,我就可以将它们添加到新帐户中. 我知道为什么会这样,但应该记录在某个地方,因为我不可能是第一个遇到这种情况的人.
420 2022-07-19
编程技术问答社区
WebException。请求被中止了。无法创建SSL/TLS安全通道
i使用httpwebrequest \ resplate of internet读取网页.在生产服务器中的 ASP.NET MVC WebAPI项目(C#)中进行了请求.我发现在某些页面中(如这个),我收到了以下例外: system.net.webexception:请求中止:无法创建 SSL/TLS安全通道. 所以,我检查了SSL有效性,发现这些页面与SSL有一些问题(已过期,......). 所以,我在互联网上寻找解决方案.找到这个解决方案.尝试了两个推荐的解决方案: 首先尝试 将此代码添加到global_asax(application_load事件): ServicePointManager.ServerCertificateValidationCallback += delegate (object sender, System.Security.Cryptography.X509Certificates.X509Certificat
4052 2022-07-19
编程技术问答社区
发布到Azure并启动应用程序后,没有自动生成表?
我接管了一个使用实体框架代码的ASP.NET MVC 5项目,它已发布到Azure网站.正确设置ApplicationDbContext (DefaultConnection),检查Execute Code First Migrations (runs on application start). 我删除了数据库中的所有表并重新发布该站点.但是,我收到了"无法找到对象"dbo.xxxx",因为它不存在,或者您没有权限."在浏览器中打开网站时. 我试图删除Azure SQL Server数据库中的所有表并重新发布项目.但是,仅在打开网站后仅创建以下表. AspNetRoles AspNetUsers AspNetUserClaims AspNetUserLogins AspNetUserRoles __MigrationHistory 所有其他表的所有DbSet都放在文件IdentityModels中的ApplicationDbContext类中. 解
152 2022-07-19
编程技术问答社区
如何在MVC中提供一个文件而不暴露URL?
我有一个树查看器,允许用户浏览文件和子目录,当用户到达文件时,网站将转到https://website.com/path/subpath/file.pdf.假设我可以识别用户正在查看文件,将发生以下情况: 控制器将生成SAS键以从Azure检索文件. 控制器将获得URL:https://myaccount.files.core.windows.net/path/?=accesskey 虽然用户查看此访问密钥没有问题,但它最终会过期,并且对于用户添加页面的页面,我希望用户 not 重定向到Azure路径,但是对于ASP.NET输出文件,就好像用户仍处于https://website.com/path/subpath/file.pdf 所以最终问题基本上是: 如何输出文件,无需强制下载,而不显示文件路径/URL? 解决方案 您可以尝试将文件从存储中读取为字节数组,并使用File方法从操作方法返回它. public ActionResult View(i
360 2022-07-19
编程技术问答社区
在Azure Webapp上,GDI+发生了一个通用错误。
我正在使用 spire lib 为用户创建 pdf 文件. string userId = User.Identity.GetUserId(); User trainee = _userDAL.GetUserByIdentityId(userId); // Get the Employee scores string fileNameTemplate = Server.MapPath(Url.Content("~/assets/cert1-{0}-{1}.docx")); string nnn = string.Format("cert1-{0}-{1}.pdf", trainee.StaffID, DateTime.Now.Millisecond); string serverPath = MainConfig.P_EXPORT; var folder = Server.MapP
1052 2022-07-19
编程技术问答社区
Azure WebSites / App Service未解释的502错误
我们有一个无状态(具有共享 Azure Redis 缓存)WebApp,我们希望通过 Azure 自动缩放服务自动缩放.当我激活自动横向扩展,甚至当我为 WebApp 激活 3 个固定实例时,我得到了相反的效果:响应时间呈指数增长,或者我得到 Http 502 错误. 无论我使用我们配置的流量管理器 url(单个实例可以正常工作几个月)还是本机 url (.azurewebsites.net),都会发生这种情况.这可能与流量管理器有关吗?如果是这样,我在哪里可以找到有关此组合的信息(已搜索)?以及如何正确利用流量管理器故障转移/性能的自动扩展?我尝试将流量管理器置于故障转移和性能模式,但没有明显效果.我很乐意通过私人渠道提供链接. 更新:我们现在以“相反的方式"重现了这种情况:在我们经常收到 5XX 错误的帐户上,我们已经删除了所有负载均衡服务器(现在每个应用程序只有一台服务器)并且问题消失了.而且,另一方面,我们开始在 3 台服务器之间进行平衡(未配置流量管理器),很快就得
462 2022-07-19
编程技术问答社区
AWVERIFY不能正常运行
昨天在下午3点左右,我为两个网站的记录宽vverify,我想从一个天蓝色的帐户转移到另一个网站.到了一天结束时,Azure仍然不允许我添加我的域,所以我拍了一个赌博并将域和www子域重新指着新的IP.今天早上我的网站已经下降了,澳大利亚仍然不会接受我的域名.我必须将域和www子域点指向旧的ip. 显然,我期待令人欣慰的CNAME没有传播的响应,而是我的DNS,以及我在线检查的其他人,在一小时内更改.为什么天蓝调会花18个小时,并计算? 我很确定我已经正确设置了...... 解决方案 我找到了答案,虽然我找不到其他地方被记录在一起.问题的原因是我从一个Azure账户迁移到另一个Azure帐户.似乎Azure不允许两个网站(即使在不同的帐户中)使用相同的主机名. 一旦我从旧帐户中删除主机名,我就可以将它们添加到新帐户中. 我可以看到为什么这将是这种情况,但它应该记录在某个地方,因为我不能成为第一个跑到这个的人.
426 2022-07-19
编程技术问答社区
是否有办法在Azure中查看已部署的文件?
在Azure中有一个文件"查看"?当我登录 azure 查看我部署的网站时,我发现没有明显的方式,我已经发现了究竟是什么文件azure托管. 我很乐意能够看到究竟是什么文件.我可以看到有Visual Studio在线选项,允许您在服务器代码中实现编辑,但这比我需要的更多.我只是希望能够检查某些文件是否已部署,其他文件不是. 解决方案 如果您只是在尝试环顾四周,并且可以使用URL格式http://.scm.azurewebsites.net ,输入网站的"kudu"仪表板. 这将为您提供基于Web的仪表板,包括调试控制台(基于Web的),您可以在其中浏览各种目录(并且目录也将在视觉上显示). 更多信息可以在来自Azure网站团队的这篇文章.
714 2022-07-19
编程技术问答社区