<?xml version="1.0" encoding="UTF-8"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="zh-Hans-CN">
  <title type="text">KomuraSoft LLC 博客</title>
  <subtitle type="text">KomuraSoft LLC 的 Windows / C# / COM 工程笔记。</subtitle>
  <id>https://comcomponent.com/zh-CN/feed.xml</id>
  <link rel="alternate" type="text/html" hreflang="zh-Hans" href="https://comcomponent.com/zh-CN/blog/"/>
  <link rel="alternate" type="text/html" hreflang="ja" href="https://comcomponent.com/blog/"/>
  <link rel="alternate" type="text/html" hreflang="en" href="https://comcomponent.com/en/blog/"/>
  <link rel="alternate" type="text/html" hreflang="ko" href="https://comcomponent.com/ko/blog/"/>
  <link rel="alternate" type="text/html" hreflang="zh-Hant" href="https://comcomponent.com/zh-TW/blog/"/>
  <link rel="self" type="application/atom+xml" href="https://comcomponent.com/zh-CN/feed.xml"/>
  <updated>2026-07-16T00:00:00+00:00</updated>
  <rights>© 2026 小村软件有限公司</rights>
  <generator uri="https://jekyllrb.com/" version="4.4.1">Jekyll</generator>
  <author>
    <name>小村 豪</name>
    <uri>https://comcomponent.com/zh-CN/profile/go-komura/</uri>
  </author>
  
  <entry xml:lang="zh-Hans-CN">
    <title type="text">什么是数字发票？──与「用邮件发送 PDF 发票」有何不同</title>
    <id>https://comcomponent.com/zh-CN/blog/what-is-digital-invoice-peppol-jp-pint/</id>
    <link rel="alternate" type="text/html" href="https://comcomponent.com/zh-CN/blog/what-is-digital-invoice-peppol-jp-pint/"/>
    <published>2026-07-16T10:00:00+00:00</published>
    <updated>2026-07-16T00:00:00+00:00</updated>
    
    <summary type="text">数字发票是一种让发票信息从卖方系统直接对接到买方系统、无需人工介入的机制。本文将通俗易懂地解析数字发票与 PDF 发票的区别、它与日本 Invoice 制度的关系、Peppol 与 JP PINT 的运作方式、与电子账簿保存法的关系，以及中小企业该如何入手。</summary>
    
    
    
    <category term="数字发票"/>
    
    <category term="发票制度"/>
    
    <category term="Peppol"/>
    
    <category term="JP PINT"/>
    
    <category term="发票"/>
    
    <category term="电子账簿保存法"/>
    
    <category term="EDI"/>
    
    <category term="企业间交易"/>
    
    <category term="业务效率化"/>
    
    <category term="系统集成"/>
    
    <category term="BtoB"/>
    
    <category term="DX"/>
    
    
    <author>
      <name>Go Komura</name>
    </author>
  </entry>
  
  <entry xml:lang="zh-Hans-CN">
    <title type="text">Windows 应用的任务栏托盘常驻与 Toast 通知 —— NotifyIcon 的坑与 AppNotification 的选型</title>
    <id>https://comcomponent.com/zh-CN/blog/windows-tray-icon-toast-notification-guide/</id>
    <link rel="alternate" type="text/html" href="https://comcomponent.com/zh-CN/blog/windows-tray-icon-toast-notification-guide/"/>
    <published>2026-07-16T09:00:00+00:00</published>
    <updated>2026-07-16T00:00:00+00:00</updated>
    
    <summary type="text">本文整理了将业务 Windows 应用常驻在任务栏托盘(通知区域)并通过 Toast 通知告知用户的实现要点。内容涵盖 NotifyIcon 的正确用法与「关闭后驻留托盘」的设计、资源管理器重启后的重新注册、三种 Toast API(Windows App SDK AppNotification / Community Toolkit / Windows.UI.Notifications)的选型判断表、非打包应用的限制、通知未送达的情况,以及从 Windows 服务发送通知的架构。</summary>
    
    
    
    <category term="任务栏托盘"/>
    
    <category term="NotifyIcon"/>
    
    <category term="Toast 通知"/>
    
    <category term="AppNotification"/>
    
    <category term="Windows App SDK"/>
    
    <category term="WinForms"/>
    
    <category term="WPF"/>
    
    <category term="C#"/>
    
    <category term=".NET"/>
    
    <category term="常驻应用"/>
    
    <category term="Windows 开发"/>
    
    <category term="技术咨询"/>
    
    
    <author>
      <name>Go Komura</name>
    </author>
  </entry>
  
  <entry xml:lang="zh-Hans-CN">
    <title type="text">从 WordPress 迁移到 Movable Type ── 正因为是「反方向」，才更需要梳理清楚的实务步骤</title>
    <id>https://comcomponent.com/zh-CN/blog/wordpress-to-movabletype-migration-practical-guide/</id>
    <link rel="alternate" type="text/html" href="https://comcomponent.com/zh-CN/blog/wordpress-to-movabletype-migration-practical-guide/"/>
    <published>2026-07-16T08:00:00+00:00</published>
    <updated>2026-07-16T00:00:00+00:00</updated>
    
    <summary type="text">从实务角度解说从 WordPress 迁移到 Movable Type(MovableType.net)的步骤。整理迁移合理的场景、文章与固定页面及图片的导入、自定义文章类型的处理方式、通过 URL 设计与 301 重定向延续 SEO 效果，以及插件功能的替代方案。</summary>
    
    
    
    <category term="网站建设"/>
    
    <category term="现有网站改善"/>
    
    <category term="SEO优化"/>
    
    <category term="CMS"/>
    
    <category term="WordPress"/>
    
    <category term="Movable Type"/>
    
    <category term="网站迁移"/>
    
    <category term="中小企业"/>
    
    
    <author>
      <name>Go Komura</name>
    </author>
  </entry>
  
  <entry xml:lang="zh-Hans-CN">
    <title type="text">VB6 应用能用到什么时候 ── 运行时支持现状与务实的 .NET 迁移做法</title>
    <id>https://comcomponent.com/zh-CN/blog/vb6-to-dotnet-migration-practical-guide/</id>
    <link rel="alternate" type="text/html" href="https://comcomponent.com/zh-CN/blog/vb6-to-dotnet-migration-practical-guide/"/>
    <published>2026-07-16T06:00:00+00:00</published>
    <updated>2026-07-16T00:00:00+00:00</updated>
    
    <summary type="text">VB6 应用程序到底能用到什么时候？本文整理 VB6 运行时的支持政策(Windows 11 也在支持范围内)与 IDE 支持早已终止这一不对称现状，并以实务指南的形式说明全面重写、自动转换、分阶段迁移的判断表、迁移前的资产盘点、VB6 与 .NET 的不兼容之处，以及 C# 与 VB.NET 的选择。</summary>
    
    
    
    <category term="VB6"/>
    
    <category term=".NET"/>
    
    <category term="C#"/>
    
    <category term="遗留技术"/>
    
    <category term="存量资产利用"/>
    
    <category term="迁移"/>
    
    <category term="现代化改造"/>
    
    <category term="32bit"/>
    
    <category term="Windows 开发"/>
    
    <category term="判断表"/>
    
    <category term="技术咨询"/>
    
    
    <author>
      <name>Go Komura</name>
    </author>
  </entry>
  
  <entry xml:lang="zh-Hans-CN">
    <title type="text">把传真订单迁移到 Web ── 双轨运行期的设计与分阶段迁移实务</title>
    <id>https://comcomponent.com/zh-CN/blog/fax-order-web-transition-staged-migration/</id>
    <link rel="alternate" type="text/html" href="https://comcomponent.com/zh-CN/blog/fax-order-web-transition-staged-migration/"/>
    <published>2026-07-16T04:00:00+00:00</published>
    <updated>2026-07-16T00:00:00+00:00</updated>
    
    <summary type="text">介绍将传真订单迁移到 Web 订单或 CSV 导入的实务做法。整理一次性全面 Web 化容易失败的原因、传真与 Web 双轨运行期的设计、商品与客户主数据的整备、CSV 导入这一中间形态，以及如何让客户配合的分阶段迁移步骤。</summary>
    
    
    
    <category term="传真订单"/>
    
    <category term="Web订单"/>
    
    <category term="EDI"/>
    
    <category term="订货处理"/>
    
    <category term="业务效率化"/>
    
    <category term="系统集成"/>
    
    <category term="CSV"/>
    
    <category term="BtoB"/>
    
    <category term="DX"/>
    
    
    <author>
      <name>Go Komura</name>
    </author>
  </entry>
  
  <entry xml:lang="zh-Hans-CN">
    <title type="text">什么是 EDI？如何让企业间的订购业务更轻松 ── 从传真、邮件、手动录入迈向数据对接</title>
    <id>https://comcomponent.com/zh-CN/blog/what-is-edi-business-efficiency/</id>
    <link rel="alternate" type="text/html" href="https://comcomponent.com/zh-CN/blog/what-is-edi-business-efficiency/"/>
    <published>2026-07-16T01:00:00+00:00</published>
    <updated>2026-07-16T00:00:00+00:00</updated>
    
    <summary type="text">EDI 是一种让订单、发票等交易数据在企业之间的系统中直接交换的机制。本文将通俗易懂地解析 EDI 与传真、邮件的区别、如何减少手动录入与转录错误，以及将接单、库存、发货、开票串联起来的好处。</summary>
    
    
    
    <category term="EDI"/>
    
    <category term="企业间交易"/>
    
    <category term="订购业务"/>
    
    <category term="业务效率化"/>
    
    <category term="系统对接"/>
    
    <category term="BtoB"/>
    
    <category term="DX"/>
    
    
    <author>
      <name>Go Komura</name>
    </author>
  </entry>
  
  <entry xml:lang="zh-Hans-CN">
    <title type="text">业务应用程序的日本年号・法定节假日・结算日处理 —— 抗改元设计与 JapaneseCalendar・营业日计算实务</title>
    <id>https://comcomponent.com/zh-CN/blog/japanese-calendar-holidays-closing-date-guide/</id>
    <link rel="alternate" type="text/html" href="https://comcomponent.com/zh-CN/blog/japanese-calendar-holidays-closing-date-guide/"/>
    <published>2026-07-11T05:00:00+00:00</published>
    <updated>2026-07-16T00:00:00+00:00</updated>
    
    <summary type="text">报表要显示「令和8年」、营业日计算要排除法定节假日、20日结算次月末付款——日本业务应用程序特有的日期处理背后，隐藏着「日后会变动的规格」：改元、法定节假日的法规修订、月末的进位。本文整理了用 JapaneseCalendar 显示年号、抗改元的设计方式，法定节假日不可写死在代码中的原因，以及利用内阁府 CSV 建立法定节假日主数据表的做法，还有考虑 AddMonths 进位规则的结算日・会计年度计算，并附上代码示例与判断表。</summary>
    
    
    
    <category term="C#"/>
    
    <category term=".NET"/>
    
    <category term="日本年号(和历)"/>
    
    <category term="法定节假日"/>
    
    <category term="结算日"/>
    
    <category term="日期时间处理"/>
    
    <category term="业务应用程序"/>
    
    <category term="Windows 开发"/>
    
    <category term="技术咨询"/>
    
    
    <author>
      <name>Go Komura</name>
    </author>
  </entry>
  
  <entry xml:lang="zh-Hans-CN">
    <title type="text">Process Monitor(ProcMon)实战指南 —— 10 分钟定位「配置未生效」「ACCESS DENIED」问题</title>
    <id>https://comcomponent.com/zh-CN/blog/procmon-practical-guide/</id>
    <link rel="alternate" type="text/html" href="https://comcomponent.com/zh-CN/blog/procmon-practical-guide/"/>
    <published>2026-07-11T01:00:00+00:00</published>
    <updated>2026-07-14T00:00:00+00:00</updated>
    
    <summary type="text">「明明修改了配置文件却没有生效」「昨天还能正常运行,今天却突然启动不了」——在动手修改源代码之前,Process Monitor(ProcMon)可以从文件、注册表访问的实际情况入手定位原因。本文从故障排查一线的视角,讲解 Filter 的实用技巧、NAME NOT FOUND・ACCESS DENIED・SHARING VIOLATION 的解读方法、常见排查模式、在生产环境中使用时的注意事项,以及与其他排查工具的搭配使用方式。</summary>
    
    
    
    <category term="Process Monitor"/>
    
    <category term="Sysinternals"/>
    
    <category term="故障排查"/>
    
    <category term="调试"/>
    
    <category term="故障排除"/>
    
    <category term="Windows 开发"/>
    
    <category term="运维"/>
    
    <category term="技术咨询"/>
    
    
    <author>
      <name>Go Komura</name>
    </author>
  </entry>
  
  <entry xml:lang="zh-Hans-CN">
    <title type="text">Windows 应用不适合 Web 化的情形 ── 判断表与「拆分」这一现实解法</title>
    <id>https://comcomponent.com/zh-CN/blog/windows-app-web-migration-decision/</id>
    <link rel="alternate" type="text/html" href="https://comcomponent.com/zh-CN/blog/windows-app-web-migration-decision/"/>
    <published>2026-07-10T01:00:00+00:00</published>
    <updated>2026-07-14T00:00:00+00:00</updated>
    
    <summary type="text">「想把公司内部的 Windows 应用改造成 Web」的需求正在增加，但对于涉及设备联动、本地文件处理、离线运行、高速录入界面的应用来说，Web 化反而可能带来成本上升与功能劣化。本文从 Windows 委托开发的实务视角，整理出适合与不适合 Web 化的判断表，并提出「不是全部 Web 化，而是只把一部分放到 Web 上」的拆分架构这一现实解法。</summary>
    
    
    
    <category term="Windows开发"/>
    
    <category term="Web迁移"/>
    
    <category term="现代化改造"/>
    
    <category term="业务应用"/>
    
    <category term="判断表"/>
    
    <category term="设计"/>
    
    <category term="技术咨询"/>
    
    
    <author>
      <name>Go Komura</name>
    </author>
  </entry>
  
  <entry xml:lang="zh-Hans-CN">
    <title type="text">WinForms/WPF应用的多语言化 ── resx、附属程序集与区域文化切换的实务</title>
    <id>https://comcomponent.com/zh-CN/blog/winforms-wpf-localization-guide/</id>
    <link rel="alternate" type="text/html" href="https://comcomponent.com/zh-CN/blog/winforms-wpf-localization-guide/"/>
    <published>2026-07-07T03:00:00+00:00</published>
    <updated>2026-07-14T00:00:00+00:00</updated>
    
    <summary type="text">本文从实务角度系统梳理Windows桌面应用多语言化的要点：CurrentCulture与CurrentUICulture的区别、resx与附属程序集构成的资源机制、WinForms的Localizable属性、WPF的现实方案选择、运行时语言切换，以及排版、格式、RTL等内容。</summary>
    
    
    
    <category term="CSharp"/>
    
    <category term=".NET"/>
    
    <category term="WinForms"/>
    
    <category term="WPF"/>
    
    <category term="多语言化"/>
    
    <category term="本地化"/>
    
    <category term="资源"/>
    
    <category term="UI"/>
    
    <category term="Windows 开发"/>
    
    <category term="技术咨询"/>
    
    
    <author>
      <name>Go Komura</name>
    </author>
  </entry>
  
  <entry xml:lang="zh-Hans-CN">
    <title type="text">CSV 不是「纯文本」──C# 业务应用中 CSV 实务(字符编码・Excel 兼容性・注入攻击防范)</title>
    <id>https://comcomponent.com/zh-CN/blog/csv-file-handling-practical-guide/</id>
    <link rel="alternate" type="text/html" href="https://comcomponent.com/zh-CN/blog/csv-file-handling-practical-guide/"/>
    <published>2026-07-07T02:00:00+00:00</published>
    <updated>2026-07-14T00:00:00+00:00</updated>
    
    <summary type="text">梳理业务应用 CSV 读写中常见的事故模式──用 Split(&apos;,&apos;) 自行解析、无 BOM 的 UTF-8 导致 Excel 乱码、前导零丢失、CSV 注入攻击──并从实务角度讲解 RFC 4180 规则、.NET 中 Shift_JIS 的处理方式(CodePagesEncodingProvider)，以及使用 TextFieldParser 安全读取 CSV 的方法。</summary>
    
    
    
    <category term="CSharp"/>
    
    <category term=".NET"/>
    
    <category term="CSV"/>
    
    <category term="Excel"/>
    
    <category term="字符编码"/>
    
    <category term="文件集成"/>
    
    <category term="Windows 开发"/>
    
    <category term="技术咨询"/>
    
    
    <author>
      <name>Go Komura</name>
    </author>
  </entry>
  
  <entry xml:lang="zh-Hans-CN">
    <title type="text">不要用 using 包裹 HttpClient —— C# 业务应用的 HTTP 通信实务(创建模式・超时设计・重试)</title>
    <id>https://comcomponent.com/zh-CN/blog/csharp-httpclient-practical-guide/</id>
    <link rel="alternate" type="text/html" href="https://comcomponent.com/zh-CN/blog/csharp-httpclient-practical-guide/"/>
    <published>2026-07-07T01:00:00+00:00</published>
    <updated>2026-07-14T00:00:00+00:00</updated>
    
    <summary type="text">C# 的 HttpClient 如果每次都用 using 创建会导致套接字耗尽，改成 static 又无法跟上 DNS 变更——本文从 Windows 业务应用的实务角度，整理这两大问题的成因，以及通过 PooledConnectionLifetime、IHttpClientFactory 实现正确创建模式、超时设计，直到用 Microsoft.Extensions.Http.Resilience 实现重试的完整做法。</summary>
    
    
    
    <category term="CSharp"/>
    
    <category term=".NET"/>
    
    <category term="HttpClient"/>
    
    <category term="IHttpClientFactory"/>
    
    <category term="网络"/>
    
    <category term="async/await"/>
    
    <category term="Windows 开发"/>
    
    <category term="技术咨询"/>
    
    
    <author>
      <name>Go Komura</name>
    </author>
  </entry>
  
  <entry xml:lang="zh-Hans-CN">
    <title type="text">用 PerfView 与 dotnet-trace 定位“变慢”的原因 ── .NET 性能排查实务入门</title>
    <id>https://comcomponent.com/zh-CN/blog/perfview-dotnet-trace-performance-analysis/</id>
    <link rel="alternate" type="text/html" href="https://comcomponent.com/zh-CN/blog/perfview-dotnet-trace-performance-analysis/"/>
    <published>2026-07-04T14:30:00+00:00</published>
    <updated>2026-07-06T00:00:00+00:00</updated>
    
    <summary type="text">当业务应用出现“变慢”“CPU 占满”“偶尔卡死”时，该用哪个工具看什么？本文梳理 PerfView 与 dotnet-trace 的分工、CPU 采样的解读方法（inclusive/exclusive）、用 ThreadTime 排查阻塞时间，以及与 EventSource 自定义事件的组合使用，整理出一套实务性能排查流程。</summary>
    
    
    
    <category term="PerfView"/>
    
    <category term="dotnet-trace"/>
    
    <category term="ETW"/>
    
    <category term="性能排查"/>
    
    <category term=".NET"/>
    
    <category term="CSharp"/>
    
    <category term="故障排查"/>
    
    <category term="Windows开发"/>
    
    <category term="技术咨询"/>
    
    
    <author>
      <name>小村 豪</name>
    </author>
  </entry>
  
  <entry xml:lang="zh-Hans-CN">
    <title type="text">面向 BtoB 企业的 Google 广告小预算运营 ── 用每月数万日元做出成果的设计与每周操作流程</title>
    <id>https://comcomponent.com/zh-CN/blog/google-ads-small-budget-btob/</id>
    <link rel="alternate" type="text/html" href="https://comcomponent.com/zh-CN/blog/google-ads-small-budget-btob/"/>
    <published>2026-07-04T14:20:00+00:00</published>
    <updated>2026-07-06T00:00:00+00:00</updated>
    
    <summary type="text">本文面向希望以每月数万日元预算启动 Google 广告的 BtoB 企业，是一份实务指南。内容整理了平均每日预算与结算上限的运作原理、转化跟踪的搭建、聚焦高意向关键词、否定关键词与搜索字词报告的每周运营方法，以及小预算下的出价策略选择，均以 Google 官方资料为依据。</summary>
    
    
    
    <category term="Google 广告"/>
    
    <category term="Google 广告运营"/>
    
    <category term="搜索获客"/>
    
    <category term="SEO优化"/>
    
    <category term="B2B营销"/>
    
    <category term="网站建设"/>
    
    
    <author>
      <name>小村 豪</name>
    </author>
  </entry>
  
  <entry xml:lang="zh-Hans-CN">
    <title type="text">打造能被地区名搜索到的网站 ── 中小企业的本地SEO实战指南（地区页面与Google商家资料）</title>
    <id>https://comcomponent.com/zh-CN/blog/local-seo-guide-sme/</id>
    <link rel="alternate" type="text/html" href="https://comcomponent.com/zh-CN/blog/local-seo-guide-sme/"/>
    <published>2026-07-04T14:10:00+00:00</published>
    <updated>2026-07-06T00:00:00+00:00</updated>
    
    <summary type="text">用「地区名称+行业」搜索却找不到自家公司的中小企业，适合看这篇。内容涵盖修正本地SEO的先后顺序：整理Google商家资料、统一NAP信息、设计地区页面、网站端的基础建设，以及在Search Console上衡量效果，全部以Google官方信息为依据整理成实务步骤。</summary>
    
    
    
    <category term="网站建设"/>
    
    <category term="SEO"/>
    
    <category term="本地SEO"/>
    
    <category term="Google商家资料"/>
    
    <category term="搜索获客"/>
    
    <category term="中小企业"/>
    
    
    <author>
      <name>小村 豪</name>
    </author>
  </entry>
  
  <entry xml:lang="zh-Hans-CN">
    <title type="text">Windows 事件日志・ETW 入门 ── 让业务应用程序的日志接入操作系统标准机制</title>
    <id>https://comcomponent.com/zh-CN/blog/windows-eventlog-etw-structured-logging/</id>
    <link rel="alternate" type="text/html" href="https://comcomponent.com/zh-CN/blog/windows-eventlog-etw-structured-logging/"/>
    <published>2026-07-04T14:00:00+00:00</published>
    <updated>2026-07-06T00:00:00+00:00</updated>
    
    <summary type="text">Windows 业务应用程序的日志，是不是只靠文件日志来解决？事件日志与 ETW，是运维人员和操作系统标准工具所能看到的另一层记录。本文整理三种手段的分工方式、.NET 中的写入方法、通过 EventSource 进行的 ETW 埋点、收集与排查的实务做法，以及来源未注册、日志膨胀等常见陷阱。</summary>
    
    
    
    <category term="CSharp"/>
    
    <category term=".NET"/>
    
    <category term="事件日志"/>
    
    <category term="ETW"/>
    
    <category term="EventSource"/>
    
    <category term="日志设计"/>
    
    <category term="故障排查"/>
    
    <category term="Windows开发"/>
    
    
    <author>
      <name>小村 豪</name>
    </author>
  </entry>
  
  <entry xml:lang="zh-Hans-CN">
    <title type="text">不只是 appsettings.json ── Windows 业务应用的配置管理实务(环境差异化设置・敏感信息・写入位置)</title>
    <id>https://comcomponent.com/zh-CN/blog/dotnet-configuration-management-guide/</id>
    <link rel="alternate" type="text/html" href="https://comcomponent.com/zh-CN/blog/dotnet-configuration-management-guide/"/>
    <published>2026-07-04T13:00:00+00:00</published>
    <updated>2026-07-06T00:00:00+00:00</updated>
    
    <summary type="text">本文从实务角度整理 Windows 业务应用的配置管理，涵盖 appsettings.json 的分层、IConfiguration 与 IOptions/IOptionsSnapshot/IOptionsMonitor 的选用方式、环境差异化设置、可写入配置的存放位置、敏感信息的处理、运行期配置变更，以及从 app.config 迁移的方法。</summary>
    
    
    
    <category term="CSharp"/>
    
    <category term=".NET"/>
    
    <category term="appsettings.json"/>
    
    <category term="IConfiguration"/>
    
    <category term="IOptions"/>
    
    <category term="Generic Host"/>
    
    <category term="配置管理"/>
    
    <category term="Windows 开发"/>
    
    <category term="技术咨询"/>
    
    
    <author>
      <name>小村 豪</name>
    </author>
  </entry>
  
  <entry xml:lang="zh-Hans-CN">
    <title type="text">小村软件为什么用日本数字厅设计系统做网站 ── 便宜与品质可以兼顾</title>
    <id>https://comcomponent.com/zh-CN/blog/digital-agency-design-system-website-development/</id>
    <link rel="alternate" type="text/html" href="https://comcomponent.com/zh-CN/blog/digital-agency-design-system-website-development/"/>
    <published>2026-07-04T12:00:00+00:00</published>
    <updated>2026-07-06T00:00:00+00:00</updated>
    
    <summary type="text">整理小村软件的网站制作为何以日本数字厅公开的设计系统为基础。说明设计环节的标准化为什么能降低费用，又为什么反而让质量更稳定，并说明哪些项目不适合这种做法。</summary>
    
    
    
    <category term="网站建设"/>
    
    <category term="设计系统"/>
    
    <category term="设计标准化"/>
    
    <category term="无障碍设计"/>
    
    <category term="费用行情"/>
    
    
    <author>
      <name>小村 豪</name>
    </author>
  </entry>
  
  <entry xml:lang="zh-Hans-CN">
    <title type="text">提升 BtoB 网站的咨询量 ── 修正顺序的全景地图(从获客到表单)</title>
    <id>https://comcomponent.com/zh-CN/blog/btob-website-lead-generation-roadmap/</id>
    <link rel="alternate" type="text/html" href="https://comcomponent.com/zh-CN/blog/btob-website-lead-generation-roadmap/"/>
    <published>2026-07-04T12:00:00+00:00</published>
    <updated>2026-07-06T00:00:00+00:00</updated>
    
    <summary type="text">当 BtoB 网站的咨询量迟迟无法增长时,许多公司会先从获客(SEO・广告)下手。但真正有效的顺序,是先用测量找出瓶颈,整理好作为承接页面的服务页面,修正表单等转化路径之后,最后才加上获客。本文将服务页面设计、咨询路径优化、邮件送达率、聊天机器人、SEO・广告、内部链接等各篇文章,按照修正顺序整理成一张地图,并整理出90天的执行计划与常见问答(FAQ)。</summary>
    
    
    
    <category term="网站建设"/>
    
    <category term="SEO优化"/>
    
    <category term="咨询路径优化"/>
    
    <category term="服务页面设计"/>
    
    <category term="内部链接"/>
    
    <category term="技术型B2B"/>
    
    
    <author>
      <name>小村 豪</name>
    </author>
  </entry>
  
  <entry xml:lang="zh-Hans-CN">
    <title type="text">Windows 业务应用程序的打印与 PDF 输出 ── System.Drawing.Printing / WPF / 报表库的取舍选型</title>
    <id>https://comcomponent.com/zh-CN/blog/windows-app-printing-pdf-guide/</id>
    <link rel="alternate" type="text/html" href="https://comcomponent.com/zh-CN/blog/windows-app-printing-pdf-guide/"/>
    <published>2026-07-04T11:00:00+00:00</published>
    <updated>2026-07-06T00:00:00+00:00</updated>
    
    <summary type="text">本文按需求整理成判断表，梳理 PrintDocument 的 WinForms 打印、WPF 的 FlowDocument/FixedDocument 打印，以及 PDF 输出的可选方案。并从实务角度讲解分页控制、DPI 偏差等实现陷阱，以及从 Windows 服务打印、依赖默认打印机的风险。</summary>
    
    
    
    <category term="CSharp"/>
    
    <category term=".NET"/>
    
    <category term="WinForms"/>
    
    <category term="WPF"/>
    
    <category term="打印"/>
    
    <category term="PDF"/>
    
    <category term="报表"/>
    
    <category term="Windows 开发"/>
    
    <category term="技术咨询"/>
    
    
    <author>
      <name>小村 豪</name>
    </author>
  </entry>
  
  <entry xml:lang="zh-Hans-CN">
    <title type="text">网站改版案例：宫崎运输公司 Douzu Carry Service ── 从旧网站继承了哪些内容，又是如何继承的</title>
    <id>https://comcomponent.com/zh-CN/blog/case-study-douzucarry-site-renewal/</id>
    <link rel="alternate" type="text/html" href="https://comcomponent.com/zh-CN/blog/case-study-douzucarry-site-renewal/"/>
    <published>2026-07-04T10:00:00+00:00</published>
    <updated>2026-07-06T00:00:00+00:00</updated>
    
    <summary type="text">以宫崎运输公司 Douzu Carry Service 的网站改版为例，说明在动手设计之前先完成 URL 盘点、301 规划与内容保留检查的实际做法。</summary>
    
    
    
    <category term="网站建设"/>
    
    <category term="SEO优化"/>
    
    <category term="现有网站改进"/>
    
    <category term="网站改版"/>
    
    <category term="案例"/>
    
    <category term="本地SEO"/>
    
    
    <author>
      <name>小村 豪</name>
    </author>
  </entry>
  
  <entry xml:lang="zh-Hans-CN">
    <title type="text">中小企业网站建设费用 ── 价格行情速查表与报价单解读方法</title>
    <id>https://comcomponent.com/zh-CN/blog/website-development-cost-guide-sme/</id>
    <link rel="alternate" type="text/html" href="https://comcomponent.com/zh-CN/blog/website-development-cost-guide-sme/"/>
    <published>2026-07-04T09:00:00+00:00</published>
    <updated>2026-07-06T00:00:00+00:00</updated>
    
    <summary type="text">整理中小企业在获取网站建设报价前应了解的、按目的和规模划分的费用行情，以及报价单明细的解读方法和各价位段能做到与做不到的事情。</summary>
    
    
    
    <category term="网站建设"/>
    
    <category term="SEO优化"/>
    
    <category term="网站改进"/>
    
    <category term="中小企业"/>
    
    <category term="费用行情"/>
    
    <category term="报价"/>
    
    
    <author>
      <name>小村 豪</name>
    </author>
  </entry>
  
  <entry xml:lang="zh-Hans-CN">
    <title type="text">把OSI参考模型彻底看懂 ── 拆解一个HTTP请求里的七层结构</title>
    <id>https://comcomponent.com/zh-CN/blog/osi-model-packet-anatomy/</id>
    <link rel="alternate" type="text/html" href="https://comcomponent.com/zh-CN/blog/osi-model-packet-anatomy/"/>
    <published>2026-07-04T07:30:00+00:00</published>
    <updated>2026-07-06T00:00:00+00:00</updated>
    
    <summary type="text">本文不靠死记硬背来理解OSI参考模型，而是从实物出发。用C#组装出一个承载HTTP GET请求的Ethernet帧并进行解剖，通过十六进制转储和Wireshark确认L2〜L7如何以字节序列的形式层层物理嵌套在一起。文章从实务角度梳理各层与.NET API（HttpClient／SslStream／Socket）之间的对应关系、如何用层的语汇排查故障，以及对常见误解的纠正。</summary>
    
    
    
    <category term="OSI参考模型"/>
    
    <category term="TCP/IP"/>
    
    <category term="网络"/>
    
    <category term="Wireshark"/>
    
    <category term="Ethernet"/>
    
    <category term="TCP"/>
    
    <category term="HTTP"/>
    
    <category term="C#"/>
    
    <category term=".NET"/>
    
    <category term="Socket"/>
    
    <category term="技术咨询"/>
    
    
    <author>
      <name>小村 豪</name>
    </author>
  </entry>
  
  <entry xml:lang="zh-Hans-CN">
    <title type="text">如何理解 Windows 的会话隔离 ── Session 0・RDP・多用户同时运行</title>
    <id>https://comcomponent.com/zh-CN/blog/windows-session-rdp-multiuser-guide/</id>
    <link rel="alternate" type="text/html" href="https://comcomponent.com/zh-CN/blog/windows-session-rdp-multiuser-guide/"/>
    <published>2026-07-04T06:00:00+00:00</published>
    <updated>2026-07-06T00:00:00+00:00</updated>
    
    <summary type="text">整理 Windows 应用程序开发者容易混淆的「会话」概念。说明服务无法显示 UI 的 Session 0 隔离原因、RDP 连接时会话的行为、命名对象的会话隔离，以及共享 PC・RDS 环境中常见的设计失误，从实务角度解说。</summary>
    
    
    
    <category term="Session 0"/>
    
    <category term="会话隔离"/>
    
    <category term="RDP"/>
    
    <category term="远程桌面"/>
    
    <category term="Windows 服务"/>
    
    <category term="多用户"/>
    
    <category term="Windows"/>
    
    <category term=".NET"/>
    
    <category term="C#"/>
    
    <category term="设计"/>
    
    <category term="技术咨询"/>
    
    
    <author>
      <name>小村 豪</name>
    </author>
  </entry>
  
  <entry xml:lang="zh-Hans-CN">
    <title type="text">VB6 / Access 业务应用的续用与迁移 ── 保留、封装、替换的判断表</title>
    <id>https://comcomponent.com/zh-CN/blog/vb6-access-legacy-migration-guide/</id>
    <link rel="alternate" type="text/html" href="https://comcomponent.com/zh-CN/blog/vb6-access-legacy-migration-guide/"/>
    <published>2026-07-04T04:30:00+00:00</published>
    <updated>2026-07-05T00:00:00+00:00</updated>
    
    <summary type="text">VB6 应用程序与 Microsoft Access 业务应用该如何判断是直接保留、只封装一部分继续用，还是全面替换？本文整理运行环境现状、ACE 的 32bit/64bit 问题、共享文件夹多人使用风险，以及升级到 SQL Server 的判断表与实务步骤。</summary>
    
    
    
    <category term="VB6"/>
    
    <category term="Access"/>
    
    <category term="VBA"/>
    
    <category term="遗留资产"/>
    
    <category term="存量资产利用与迁移"/>
    
    <category term="Windows 开发"/>
    
    <category term="数据库迁移"/>
    
    <category term="现代化改造"/>
    
    <category term="判断表"/>
    
    <category term="技术咨询"/>
    
    
    <author>
      <name>小村 豪</name>
    </author>
  </entry>
  
  <entry xml:lang="zh-Hans-CN">
    <title type="text">用 WinDbg + SOS 解读崩溃转储 ── 采集之后的实务分析入门</title>
    <id>https://comcomponent.com/zh-CN/blog/windbg-sos-crash-dump-analysis/</id>
    <link rel="alternate" type="text/html" href="https://comcomponent.com/zh-CN/blog/windbg-sos-crash-dump-analysis/"/>
    <published>2026-07-04T03:00:00+00:00</published>
    <updated>2026-07-05T00:00:00+00:00</updated>
    
    <summary type="text">本文说明如何用 WinDbg 与 SOS 扩展实际读取已采集的 Windows 崩溃转储。内容涵盖符号路径设置、以 !clrstack、!pe、!dumpheap -stat、!gcroot 追踪异常与内存泄漏的方法、原生崩溃的 !analyze -v，以及与 dotnet-dump analyze 的使用区分，从实务角度整理。</summary>
    
    
    
    <category term="WinDbg"/>
    
    <category term="SOS"/>
    
    <category term="崩溃转储"/>
    
    <category term=".NET"/>
    
    <category term="CSharp"/>
    
    <category term="调试"/>
    
    <category term="PDB"/>
    
    <category term="故障排查"/>
    
    <category term="技术咨询"/>
    
    
    <author>
      <name>小村 豪</name>
    </author>
  </entry>
  
  <entry xml:lang="zh-Hans-CN">
    <title type="text">防止 Windows 应用程序重复启动 ── 命名 Mutex 与重复执行时的窗口前置</title>
    <id>https://comcomponent.com/zh-CN/blog/single-instance-mutex-guide/</id>
    <link rel="alternate" type="text/html" href="https://comcomponent.com/zh-CN/blog/single-instance-mutex-guide/"/>
    <published>2026-07-04T01:30:00+00:00</published>
    <updated>2026-07-06T00:00:00+00:00</updated>
    
    <summary type="text">整理业务型 Windows 应用程序的常见需求——「不让同一个应用程序启动两次」——如何用命名 Mutex 来实现。涵盖 Global\ 与 Local\ 命名空间差异在 RDP 环境中的陷阱、拥有线程限制与 AbandonedMutexException、在 SetForegroundWindow 限制下把已有实例带到前台的设计，以及启动参数的传递，并附上可直接用于实务的 C# 实现。</summary>
    
    
    
    <category term="防止重复启动"/>
    
    <category term="Mutex"/>
    
    <category term="Windows"/>
    
    <category term=".NET"/>
    
    <category term="C#"/>
    
    <category term="SetForegroundWindow"/>
    
    <category term="远程桌面"/>
    
    <category term="命名管道"/>
    
    <category term="Windows 开发"/>
    
    <category term="技术咨询"/>
    
    
    <author>
      <name>小村 豪</name>
    </author>
  </entry>
  
  <entry xml:lang="zh-Hans-CN">
    <title type="text">在 C# 中安全调用 Win32 API —— P/Invoke 实务指南（DllImport / LibraryImport / CsWin32）</title>
    <id>https://comcomponent.com/zh-CN/blog/pinvoke-safe-guide/</id>
    <link rel="alternate" type="text/html" href="https://comcomponent.com/zh-CN/blog/pinvoke-safe-guide/"/>
    <published>2026-07-04T00:00:00+00:00</published>
    <updated>2026-07-06T00:00:00+00:00</updated>
    
    <summary type="text">本文整理在 C# 中通过 P/Invoke 调用 Win32 API 或原生 DLL 时的实务要点：DllImport 与 LibraryImport 的区别、用 CsWin32 自动生成签名、字符串封送的陷阱、用 SafeHandle 管理句柄、SetLastError 与错误处理、结构体的 StructLayout、回调的生命周期管理、32/64bit 差异，以及与 C++/CLI、COM 的取舍，并附实现示例。</summary>
    
    
    
    <category term="P/Invoke"/>
    
    <category term="DllImport"/>
    
    <category term="LibraryImport"/>
    
    <category term="CsWin32"/>
    
    <category term="C#"/>
    
    <category term=".NET"/>
    
    <category term="Win32"/>
    
    <category term="SafeHandle"/>
    
    <category term="原生互操作"/>
    
    <category term="Windows开发"/>
    
    <category term="技术咨询"/>
    
    
    <author>
      <name>小村 豪</name>
    </author>
  </entry>
  
  <entry xml:lang="zh-Hans-CN">
    <title type="text">在 WinForms/WPF 应用中集成 Entra ID 认证 —— MSAL.NET 与 WAM Broker 的实务架构</title>
    <id>https://comcomponent.com/zh-CN/blog/winforms-wpf-entra-id-auth/</id>
    <link rel="alternate" type="text/html" href="https://comcomponent.com/zh-CN/blog/winforms-wpf-entra-id-auth/"/>
    <published>2026-07-03T06:00:00+00:00</published>
    <updated>2026-07-06T00:00:00+00:00</updated>
    
    <summary type="text">本文以实务视角整理在 WinForms/WPF 桌面应用中集成 Entra ID（原 Azure AD）认证的步骤：公共客户端的思路、ROPC 被弃用的现状、应用注册、MSAL.NET 的 AcquireTokenSilent 模式、WAM Broker、令牌缓存的持久化，以及导入判断与运维中的坑。</summary>
    
    
    
    <category term="Windows"/>
    
    <category term="C#"/>
    
    <category term=".NET"/>
    
    <category term="WinForms"/>
    
    <category term="WPF"/>
    
    <category term="Entra ID"/>
    
    <category term="认证"/>
    
    <category term="安全"/>
    
    <category term="技术咨询"/>
    
    
    <author>
      <name>小村 豪</name>
    </author>
  </entry>
  
  <entry xml:lang="zh-Hans-CN">
    <title type="text">业务应用的日期时间与时区 ── 从 DateTime 的陷阱到 UTC 存储原则、测试设计</title>
    <id>https://comcomponent.com/zh-CN/blog/business-app-datetime-timezone-guide/</id>
    <link rel="alternate" type="text/html" href="https://comcomponent.com/zh-CN/blog/business-app-datetime-timezone-guide/"/>
    <published>2026-07-03T04:30:00+00:00</published>
    <updated>2026-07-06T00:00:00+00:00</updated>
    
    <summary type="text">服务器迁移后时间整整差了 9 个小时、只有海外分支机构的日期会变成前一天——本文从 DateTime 的 Kind 与隐式转换梳理日期时间事故的根本原因。内容涵盖与 DateTimeOffset 的取舍、UTC 存储与 ISO 8601 原则、TimeZoneInfo 与夏令时、和 SQL Server/SQLite 的边界处理，一直到用 TimeProvider 做测试设计，从实务角度完整讲解。</summary>
    
    
    
    <category term="C#"/>
    
    <category term=".NET"/>
    
    <category term=".NET Framework"/>
    
    <category term="Windows"/>
    
    <category term="时区"/>
    
    <category term="日期时间处理"/>
    
    <category term="测试"/>
    
    <category term="运维"/>
    
    <category term="技术咨询"/>
    
    
    <author>
      <name>小村 豪</name>
    </author>
  </entry>
  
</feed>
