最早的时候App Service被定义为一种后台服务,类似于极简版的Windows Service.App Service作为Background Task在宿主UWP APP中运行,向其他UWP APP提供服务,可用于UWP APP间通讯及交换数据. 早期的App Service应用场景较为单一,但随着Win10 1607版本对In Process AppService的支持,以及从Visual Studio2017开始支持的Desktop Extension和MSIX Package等一系列…
上一篇<2020年的UWP(2)--In Process App Service>中我们了解了UWP和Desktop Extension可以通过AppService进行数据交互.本篇我们就来梳理在不同场景,UWP和Desktop Extension可能存在的交互方式. 对Desktop Extension中程序的类型,我暂时分为以下四种: 执行后立即退出 等待request,处理完后退出 一或多个request/response周期 和UWP程序相同生命周期 本篇我们仅讨论第一种,Deskto…
上一篇我们讨论了UWP和Desktop Extension交互中,Desktop Extension执行后立即退出的场景.下图是提到的四种场景分类: 执行后立即退出 等待request,处理完后退出 一或多个request/response周期 和UWP程序相同生命周期 本篇我们讨论第二种,Desktop Extension等待request后,根据传参完成操作后退出的,短生命周期场景.该类型有以下特征: 可能存在多次的单向调用 通过request接收参数 不关心返回结果 Desktop Ext…
App Service 是一种背景工作运行的服务,提供给其他Apps 使用就像Web Service.它本身无使用介面(UI-less),允许Apps 在同一个设备被引用,甚至Windows 10 1607 开始允许remote devices 使用它. [ 重点观念 ] Windows 10, version 1607 开始, App Service 支持新模式:可以与host App 运行在相同的process:(一般属于Background Task 执行在不同的process)支援从Ap…
Win10中,新增了一个很实用的新特性叫做App Service,App Service允许App不在前台运行的情况下提供出一个或多个对外服务供其他App使用,这看起来就好像Web开发中的Web Api. 通过对外提供服务的形式,可以使App更好的完成一些其他App所拥有的专业性操作,而不必自己再去实现服务所做的操作.一些企业用户可以提供复杂的服务,比如云识别和云存储来供开发者使用.这样使开发成本大大降低,也可以为服务提供商带来更多的用户.比如我们可以调用二维码识别服务(如下图,假设其他App提…
在 Windows 10 中微软为 UWP 引入了 App Service (即应用服务)这一新特性用以提供应用间交互功能.提供 App Service 的应用能够接收来自其它应用传入的参数进行处理后返回数据. 创建应用服务 要使应用支持提供 App Service 非常简单.只需正确配置应用的清单文件后添加服务相关的代码即可. 配置应用清单文件 打开项目中的 Package.appxmanifest 文件. 切换到 Declarations 选项卡. 在左侧 Available Declara…
最近在做UWP的项目,在2020年相信这已经是相对小众的技术了,但是在学习的过程中,发现某软这么几年仍然添加了不少的API,开放了相当多的权限.所以打算总结一下最近的一些经验和收获,介绍一下2020年的UWP.之前在<UWP开发入门(25)——通过Radio控制Bluetooth, WiFi>篇中我们回顾了在UWP中如何操作Bluetooth和WiFi.在相当长的一段时间里,我都认为Radio类就止步于此了.然鹅最近的实践表明,Cellular也可以通过Radio类来控制了. 在介绍使用Win…
场景 WCF应用程序部署在IIS7中,使用net.tcp协议对外给几百台客户端提供服务,应用程序池不断崩溃重启. 分析过程 在事件查看器中看到的错误信息类似于 为应用程序池“XX”提供服务的进程在与 Windows Process Activation Service 通信时出现严重错误 使用windbg在崩溃时进行分析,找到引发崩溃的堆栈的最顶部信息进行搜索,找到两个补丁包安装上 用于搜索的顶部异常信息为:IOCompletionThunk.UnhandledExceptionFrame Be…
android.app.Service A Service is an application component representing either an application's desire to perform a longer-running operation while not interacting with the user or to supply functionality for other applications to use. Each service cla…
I'm not yet clear what I did, but I'm blogging it so it can be found if someone else has this issue. For whatever reason, last week both of my Vista 64-bit machines suddenly stopped being able to start IIS (Internet Information Server). The service j…
问题描述 在使用Azure App Service时候,我们有时候对 一些请求发生错误毫无头绪,能从错误代码中知道请求错误,但是更多的信息呢? 当我们需要更多的信息时候,通常有以下的一些方式来查找问题: 在浏览器中开启开发者模式(F12),查看Network的记录,分析那些请求错误,找出请求Header及Response... 使用Fiddler抓取本机发出的请求记录... 在代码中添加更多的业务日志,查看代码运行到哪一行才出现错误... 使用Postman发送请求,验证是否时请求的Header…
问题描述 在Azure App Service中,有对.Net,Java的WebSocket支持的示例代码,但是没有成功的PHP代码. 以下的步骤则是如何基于Azure App Service实现PHP版的websocket. 实现步骤 参考PHP代码链接:(GitHub:https://github.com/ghedipunk/PHP-Websockets, 本地博客园:https://www.cnblogs.com/lulight/articles/13787309.html).但由于这一示…
问题情形 本地NodeJS应用使用Egg脚手架构建,本地运行测试完全没有问题,发布后App Service后不能运行.通过登录到kudu后(https://<your web site>.scm.chinacloudsites.cn)后,在日志中发现找不到一个文件或路径的错误.通过在kudu的CMD窗口执行npm start命令,发现错误是一致,怀疑是对Egg中某个框架的不支持. 详细日志 Application has thrown an uncaught exception and is…
问题情形 当应用在Azure 应用服务App Service中运行时,有时候出现CPU,Memory很高,但是没有明显的5XX错误和异常日志,有时就是有异常但是也不能明确的指出具体的代码错误.当面临这样的情形是,有效的排查办法就是在问题重现的时候抓取DUMP文件,可以通过DUMP文件分析出是否有线程死锁,或查看时那些请求导致的死锁问题.也可以定位到相关的自定义代码类文件.非常助于下一步的查找问题. 抓取DUMP文件 1) 利用App Service自带Kudu的工具获取DUMP文件 登录进当前应…
问题描述 App Service 在使用GIt本地部署,上传代码的路径为/home/site/repository,而不是站点的根目录/home/site/wwwroot. 这个是因为什么? 并且通过Git发布静态文件的时候不成功.出现"Could not detect any platform in the source directory." 和 "Error: Couldn't detect a version for the platform 'php' in the…
问题描述 在Azure App Service上部署了站点,想要在网站的响应头中加一个字段(Cache-Control),并设置为固定值(Cache-Control:no-store) 效果类似于本地IIS中设置IIS响应标头 有时,也会根据不同的安全要求,需要添加Response Header,如下: #Adding security headers X-Frame-Options "SAMEORIGIN" X-Xss-Protection "1; mode=block&q…
问题描述 在使用App Service的过程中,发现应用频繁出现503错误,通过Kudu站点获取到Logfiles. 在 Eventlog.xml 文件中,发现大量的 Microsoft.WindowsAzure.Diagnostics.DiagnosticMonitorTraceListener 异常,并且引起 w3wp.exe 进程终止. <Event> <System> <Provider Name=".NET Runtime"/> <E…
因为修改过管理员账号的密码后重启服务器导致IIS无法启动,出现已下异常 1.解决:"启动Windows Process Activation Service时,出现错误13:数据无效" 将c:\inetpub\history文件夹中的这个applicationHost.config文件,替换掉c:\windows\system32\inetsrv\config中的applicationHost.config,如果在c:\inetpub\history文件夹中有好几个类似CFGHISTO…
昨天,老周演示了语音命令集成这一高大上功能,今天咱们来点更高级的语音命令. 在昨天的例子中,响应语音命令是需要启动应用程序的,那么如果可以不启动应用程序,就直接在小娜面板上进行交互,是不是会更高大小呢. 面向Win 10的API给应用程序增加了一种叫App Service的技术,应用程序可以通过App Service公开服务来让其他应用程序调用.App Service是通过后台任务来处理的,故不需要启动应用程序,调用者只需要知道提供服务的应用程序的程序包名称,以及要调用的服务名称即可以进行调用了…
标题:如何将Azure DevOps中的代码发布到Azure App Service中 作者:Lamond Lu 背景 最近做了几个项目一直在用Azure DevOps和Azure App Service, 每次都要从零开始搭建从Azure DevOps向Azure App Service发布代码的环境,由于步骤比较繁琐,每次都会忘记其中几个步骤,所以在此总结一下,已备后续再次使用. Azure DevOps和Azure App Service Azure DevOps Azure DevOps…
[终极解决方案]为应用程序池“XXX”提供服务的进程在与 Windows Process Activation Service 通信时出现严重错误.该进程 ID 为“XXXX”.数据字段包含错误号. 今天在客户现场也遇到这个问题了 查了下 还有一个类似的解决方案. http://www.cnblogs.com/qidian10/p/6028784.html 如果再现的话 就进行抓取dump 处理一下 感谢原作者. 困扰我大半年的错误,今天偶然间被解决了,特此分享给被同样问题纠结的朋友们! 之前的…
再说逻辑层之前,先说说微信小程序框架(MINA) 小程序开发框架的目标是通过尽可能简单.高效的方式让开发者可以在微信中开发具有原生APP体验的服务. 框架提供了自己的视图层描述语言WXML和WXSS,以及基于JavaScript的逻辑层框架,并在视图层与逻辑层间提供了数据传输和事件系统,可以让开发者可以方便的聚焦于数据与逻辑上. 框架的核心是一个响应的数据绑定系统.整个系统分为两块视图层(View)和逻辑层(App Service) 框架可以让数据与视图非常简单地保持同步.当做数据修改的时候,只…
系统环境:Windows Server 2008 R2 64位, IIS 7.0 错误信息: 为应用程序池提供服务的进程在与 Windows Process Activation Service 通信时出现严重错误.该进程ID为. 应用程序池将被自动禁用,原因是为此应用程序池提供服务的进程中出现一系列错误. 导致网站不能访问,出现 503 错误,服务不可用,Service Unavailable. 解决的方法: 1. 将应用程序池设置为 经典 Classic 模式(如果是纯.NET应用,此步骤可…
在启动Windows Process Activation Service时,出现错误13:数据无效 1.错误原因: 当Windows Process Activation Service从C:\Windows\system32\inetsrv\config\applicationHost.config中读取configuration数据时,数据收到了损坏,错误消息是:Configuration file is not well-formed XML,数据无效. 2.解决方法: 将c:\inet…
小程序开发框架的逻辑层使用 JavaScript 引擎为小程序提供开发者 JavaScript 代码的运行环境以及微信小程序的特有功能. 逻辑层将数据进行处理后发送给视图层,同时接受视图层的事件反馈. 开发者写的所有代码最终将会打包成一份 JavaScript 文件,并在小程序启动的时候运行,直到小程序销毁.这一行为类似 ServiceWorker,所以逻辑层也称之为 App Service. 在 JavaScript 的基础上,我们增加了一些功能,以方便小程序的开发: 增加 App 和 Pag…
本文介绍了几个技巧,这些技巧可以改善Azure App Service托管应用程序的性能.其中一些技巧是你现在就可以进行的配置变更, 而其他技巧则可能需要对应用程序进行一些重新设计和重构. 开发者都希望从部署在Azure的App Services中压榨出最佳性能.更好的性能不仅能够获得更佳的响应体验:而且如果我们在Azure中能“四两拨千斤”,那么性能的提升还可以为我们省钱.在本文中,我们将研究提高Azure App Services中运行的Web程序性能的设置和策略. 下面几个性能提升意见在…
问题描述 众所周知,Azure App Service是一种PaaS服务,也就是说,IaaS层面的所有内容都由平台维护,所以使用App Service的我们根本无法触碰到远行程序的虚拟机(VM), 所以当遇见一些实例级的问题时,可谓一点办法也没有. 这时,一些Azure提供的排查工具就非常有用,如在App Service for Windows的情况下,我们可以通过Kudu工具进行文件管理,如下载日志,修改web.config配置,运行抓取DUMP的命令(或查看进行直接抓取DUMP,详见:([应…
问题描述 Azure App Service (应用服务)如何安装PHP的扩展 mcrypt(mcrypt 是php里面重要的加密支持扩展库) 准备条件 创建App Service, Runtime stack 选择为PHP,如图 下载mcrypt插件,mcrypt 1.0.3 for Windows, 注意选择的版本需要与App Service中PHP的版本一致.如PHP 7.2  -- 7.2 Non Thread Safe (NTS) x86 注:选择Non Thread的原因是因为App…
测试App Service是否可以访问其他DNS 当应用服务(Azure App Service)创建完成后,想通过ping命令来查看是否可以访问其他站点或解析DNS,但是发现ping命令无法使用.这是因为App Service存在安全约束,因此无法通过控制台运行 ping.nslookup 和 tracert 工具 .为了测试DNS功能和测试主机TCP的连接问题,App Service 提供了两个命令 nameresolver.exe 用于测试 DNS 功能,命令格式为:nameresolve…
问题情形 使用EF Core访问数据库,在本地运行正常,发布到App Service后,偶尔出现了Cannot create a DbSet for ** because this type is not included in the model for the context,根据错误,初步怀疑是部署的DLL版本不匹配或者丢失. 详细日志 无详细日志 问题原因 根据对错误的分析和源代码中包含中文字符进行分析,应该是客户本地环境中编译后的DLL文件在本地环境本正常识别,但是默认情况下,发布到A…