我有几个.NET Windows Forms应用程序,我准备转换为ClickOnce /智能客户端部署方案.我已经阅读了这个非常棒的教程,但是我应该注意哪些陷阱或"陷阱"?
有几个小应用程序一直使用,但主要应用程序是在C#中,每周7天,每天24小时运行,非常大,但每隔几周才会更改一次.它还会本地写入日志文件并与本地硬件设备进行通信.
我在一些ClickOnce帖子中看到,ClickOnce不允许您为应用程序创建桌面图标.有没有办法解决?
我在该领域的经验非常少,我正在编写一个使用MVVM与WCF后端通信的WPF智能客户端应用程序,并且我真的很难从所有信息中做出正确的决策.这引出了一系列问题,我希望在这方面有更多经验的人可以解决这些问题.
例如,其中一个屏幕将允许输入订单并向订单添加订单行.
什么用作模型?
在WCF服务上,我有以下简化的DTO:
public OrderDTO
{
string orderDetails { get; set; }
List<OrderLineDTO> OrderLines { get; set; }
}
public OrderLineDTO
{
int customerId { get; set; }
int productId { get; set; }
double quantity { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
和WCF服务有以下方法:
public OrderService Order
{
CreateOrderResponse CreateOrder(OrderDTO order)
}
Run Code Online (Sandbox Code Playgroud)
在我的WPF智能客户端中,我有一个对DTO的引用,但显然它没有实现,INotifyPropertyChanged因为它纯粹是为了传输.
问题
建议的方法是将这些DTO转换为INotifyPropertyChanged使用Automapper或类似方法实现的模型吗?或者DTO应该直接在ViewModel中用作模型?
在视图模型之间进行通信
目前,我有一个带有ViewModels 和2的标签(Order和OrderLines)的订单视图.在订单选项卡上,我有一个包含客户ID和名称.当我选择客户时,我需要告知客户已被选中,以便仅显示属于该客户的产品.OrderViewModelOrderLineViewModelComboBoxOrderViewOrderLineViewComboBox
问题
在这种情况下如何OrderViewModel沟通OrderLineViewModel?
添加订单行并应用逻辑/业务规则
由于服务器级应用程序将由多个客户端使用,例如PC,移动设备..我想确保所有业务规则都应用于服务器级应用程序.例如,添加订单行时.如果是某种产品类型,只有在客户有特定认证的情况下才能添加.
但是,我所读到的关于MVVM的所有内容都表明该模型适用于业务规则和行为 …
在ClickOnce应用程序中设置公司名称和应用程序名称的正确方法是什么?
我在一个名为RecordNavigator的解决方案中有一组项目.GUI项目名为RecordNavigator.Gui.
当我发布应用程序时 - 我希望"开始"菜单中有一个名为Tyndall Software的文件夹,应用程序快捷方式称为" 记录导航器".
现在该文件夹显示组织和快捷方式RecordNavigator.Gui.AssemblyInfo.cs文件似乎没有任何效果.这是正常的吗?
除了JavaScript和Java之间的明显差异之外,使用SmartClient或SmartGWT有哪些相关区别?
实现渐进式 Web 应用程序时,本地数据库的最佳选择是什么?
最初的选择是设计一个智能客户端桌面应用程序,通过一键部署来安装本地 SQLite 数据库。然后可以使用 Microsoft Sync Framework 将本地数据库与服务器端 SQL 数据库同步。
然而,随着未来支持移动设备的用例,我更感兴趣的是使用本地 SQL 数据库开发渐进式 Web 应用程序以支持离线模式(对于没有任何互联网连接的用户)。
考虑到 React PWA 堆栈,我找不到 SQLite 的干净实现。IndexDB 可用,但它不像 SQL。
关于如何使用持久本地 SQL 数据库实现 PWA 离线模式有任何反馈吗?
sqlite smartclient microsoft-sync-framework reactjs progressive-web-apps
我一直在研究一个有两个接口的项目 - 窗体和网页.在过去的8个月里,我们在维护网络应用程序方面遇到了更多问题(在IE中工作,而不是在FF中,ajax以一些不易调试的奇怪方式打破......)等等.
另一方面,winform应用程序易于安装.我们有一个xcopy版本,点击它一次部署,允许用户点击浏览器中的链接进行下载和安装.当我们升级应用程序时,我们需要做的就是将它发布到服务器并发送电子邮件有一个链接.当用户点击下载链接时...他们有一个新版本......所需的只是2.0运行时.
潮流现在正在转变为智能客户吗?
编辑:浏览器现在是否导致了困扰客户端应用程序的Web应用程序(太多平台......并非所有平台都遵循相同标准)的问题?
编辑:Web应用程序必须在多达4个浏览器上进行测试(更不用说IE-IE 6,IE 7和IE 8).智能客户端运行在框架之上,因此他们不需要在所有操作系统上进行测试.
我找到了这个链接http://smartclient.codeplex.com/ ,它有一些vs 2010的更新....
我不知道,但我似乎总是感到困惑,即缺乏文件等.....
但这和棱镜一样吗?
如果没有,谁能告诉我差异在哪里......
它似乎是设计smartclient的一个环节所以我推测它的复合
或者我错了?
如果我确实错了,棱镜和vs 2010模板的链接在哪里?
任何帮助将非常感激
我想对你对这两个框架的看法.我非常喜欢ExtJS的功能,但最近我看到了SmartClient,它看起来也很棒,并且免费(它的客户端功能)用于商业项目.我尝试了一点SmartClient,它似乎比ExtJS更容易,并且它有更好的文档来扩展ExtJS.
但是..我没有使用任何这些框架,也许我错了.这就是为什么我希望与他们合作过的人的意见.
BTW .. ExtJS的许可如何运作?您只需为每个开发人员提供一个许可证,然后您就可以开发和销售您想要的每个应用程序,或者您必须为您销售的每个应用程序购买许可证?
在此先感谢您的帮助.