前言 今天研究了在 WPF 中使用 SelfHost 自宿主. 具体的功能是,在 WPF 中使用自宿主服务,外部调用服务的 API,在 API 里面操作窗体的显示等. 技术点 在 WPF 中集成 SelfHost API 和窗体间交互 一.集成 SelfHost 现在已有的资料中,使用 SelfHost 做自宿主服务的基本都是用控制台实现 WebAPI 的功能,或者在 WinFrom 中集成.WFP 和这些还是有挺大的区别. 我这里是参考了这个文章:Self-Host 具体的步骤如下: 1. 添…
原文:返璞归真 asp.net mvc (11) - asp.net mvc 4.0 新特性之自宿主 Web API, 在 WebForm 中提供 Web API, 通过 Web API 上传文件, .net 4.5 带来的更方便的异步操作 [索引页][源码下载] 返璞归真 asp.net mvc (11) - asp.net mvc 4.0 新特性之自宿主 Web API, 在 WebForm 中提供 Web API, 通过 Web API 上传文件, .net 4.5 带来的更方便的异步操作…
前言 自从几年前抛弃wcf,使用web api 来做服务器端开发之后,就不再迷惑了.但是因为本来从事传统行业管理软件开发,一般都以分布式应用开发为主.纯BS还是比较少,于是比较喜欢用windows service来宿主web api.发现这种场景网上文章还是比较少.这次就结合最近的技术尝试(DI.IOC),整体介绍一下这方面的实践. 名词解释 依赖注入: 依赖倒置原则  A.高层次的模块不应该依赖于低层次的模块,他们都应该依赖于抽象. B.抽象不应该依赖于具体实现,具体实现应该依赖于抽象.  …
原文:WPF换肤之二:可拉动的窗体 让我们接着上一章: WPF换肤之一:创建圆角窗体 来继续. 在这一章,我主要是实现对圆角窗体的拖动,改变大小功能. 拖动自绘窗体的步骤 首先,通过上节的设计,我们知道了如何设计一个圆角窗体,通过XAML代码量,我们发现设置这个窗体是多么的简单.但是如何让窗体能够进行Resize呢? 在Winform时代,我们通过WndProc(ref Message m)处理窗体界面消息来实现,那么在WPF中是否也是如此呢? 其实在WPF中,虽说封装比较紧密,但是对于处理界面…
ylbtech-Jasper:API / API 策略和最佳做法 1.返回顶部 1. API 策略和最佳做法 Cisco Jasper 已经建立了一项 API 公平使用策略,确保所有 Control Center 用户都可以获得最佳的体验.任何使用 Control Center API 的客户端代码都必须遵守下述限制规定. 并发连接 Cisco Jasper 建议企业避免进行并发处理,因为它可能会显著降低响应速度.我们建议仅在单线程应用程序或例程中使用 API.在多线程情况下使用 API 的账户…
原文:WPF 设置类库项目为启动项,设置窗体跟随. 1.添加用于启动的类Program.cs,需要一个静态的Main函数入口. using System; using System.Windows; using System.Windows.Controls; 棕色部分实现窗口的位置固定和跟随. public class Program { private static Application _MainApplication; internal static Application MainA…
WPF最小化窗体后激活函数显示不了窗体 今天测试小哥给我提了一些问题,其中一个问题是这样的,点击web端的一个链接,是能启动本地的一个应用程序的,如果本地应用程序已启动(通过tcp进程间通信),那么应该要能显示这个本地应用窗口.但是他测试的时候发现并没有预期的效果. 经过多次测试后,发现无效的情况是在窗体设置为最小化的时候,激活显示不了窗体,如果这个窗体只是在其它窗体后面是可以激活的. 测试代码如下: public partial class MainWindow : Window { publ…
例:import {queryDepartTreeList, searchByKeywords} from '@/api/api' 首先查看vue.config.js文件,在这个文件里面定义了定义了@的含义 const path = require('path') function resolve(dir) { return path.join(__dirname, dir) } module.exports = { chainWebpack: (config) => { config.reso…
经常有人问关于模态对话框和系统菜单内部实现原理方面的问题, 因为系统通过API隐藏了太多细节,这2个问题确实令初学者甚至是有经验的开发者困扰, 下面是我个人的一些经验总结. 先说模态对话框,外部看模态对话框其实就是Dialog弹出以后函数(或者说调用栈call stack)不直接返回, 而是要让你做出选择后关闭Dialog, 然后程序再继续往下执行.在你关闭Modal Dialog之前, 你不能做其他操作.下面是我自己模拟模态对话框行为的代码: #define MODAL_DLG_EXIT_NO…
对话框ShowModal之后不能操作其它窗口,实际上是因为Windows Disable了其它窗口.所以当你需要在模态对话框中访问其它已经可见的窗口时,需要用EnableWindow API来激活对应的窗口. 例如: form2.showmodal; 在form2的OnShow事件中: enablewindow(form1.handle,true); 如何使用Show方法来显示一个模态窗口 我们知道在Delphi中显示一个窗口有两种方式,模态方式显示(ShowModal)和非模态方式显示(Sho…