[ASP.NET]COM+多層式程式撰寫(資料存取層初體驗)
摘要:緣起: 承繼之前的系統分層概念(請參考:淺談多層式架構 (Multi Tiers)),在資料存取層中,應該只有資料的存取,沒有商業的邏輯。小喵之前的系統並沒有這一層,以往都是商業邏輯混搭資料存取。這一篇就來嘗試撰寫資料的存取層。順便開始程式撰寫部分的介紹。 方案管理: 為了方便未來程式撰寫不用開好幾個VS,我們透過方案的方式可以將資料層、商業邏輯層、介面層(Web Project)集中在一個方案中...
阅读全文
posted @
2009-11-04 15:01
topcat
阅读(366)
推荐(0)
[修練營ASP.NET]COM+的交易(Transaction)讓商業層確保資料的完整性
摘要:緣起 承繼之前的【淺談多層式架構 (Multi Tiers)】與【透過COM+來變身(切換身分)執行】。我們這一篇要來講COM+中小喵覺得最精華的部分--COM+的【交易(Transaction)】支援。再分析系統後,我們可能會將各式各樣的商業邏輯寫成Function放在不同的Project裡面的Class中,並且會互相呼叫來完成要進行的商業邏輯。而在互相呼叫的過程中,就可能有必要將彼此包在一個T...
阅读全文
posted @
2009-10-12 22:39
topcat
阅读(334)
推荐(0)
N-Tiers開發方式(ASP/ASP.NET、VB6/VB.NET呼叫使用COM+元件)
摘要:续接:N-Tiers开发方式(COM+组件的注册、修改) 在组件安装完成后,接下来的工作就是要如何呼叫使用我们写好的组件了。我们假设我们写好的组件的名称如下: Package:KDMO1000 Project:PDMOMenu Class: CDMOMenu1(无Transaction) CDMOMenu2(有Transaction) 假设CDMOMenu1中有一个Function...
阅读全文
posted @
2008-06-12 10:33
topcat
阅读(502)
推荐(0)
N-Tiers开发方式(COM+组件的注册、修改)
摘要:当COM+的组件已经撰写完成后,接着就是要如何将撰写好的组件注册的主机的【组件服务】上 以往小喵用VB6撰写组件,要注册组件时,只需要在组件服务中建立空的Package,然后将写好的组件托拉进去即可,要修改时,只要组件的机码兼容,也只需要将Package停止后,将组件覆盖即可。请参考组件撰写、注册过程录像文件 但是进入.NET开发组件,小喵发现无法使用原来的方式处理,必须透过【.NET Fra...
阅读全文
posted @
2008-06-12 09:56
topcat
阅读(313)
推荐(0)
N-Tiers开发方式(如何使用VB.NET撰写COM+组件)
摘要:小喵撰写COM+组件开始于VB6的年代,撰写与注册的方式还算不是很复杂,不过随着进入了.NET的世界,撰写的过程也变得比较复杂了许多。 以下是撰写的步骤 假设要撰写的是一个数据库DDMO中的数据表(TDMOMenu)的数据存取组件,要产生一个组件服务中的Package名称为【KDMO1000】,里面有个组件PDMOMenu.dll内有两个COM+组件分别是Project.Class PDMO...
阅读全文
posted @
2008-06-12 09:50
topcat
阅读(435)
推荐(0)
COM+安装过Crystal Report8后无法注册组件处理方式
摘要:小喵最近遇到的状况:安装新主机时,在安装组件(COM+)的时候,却发生无法注册的窘况,寻找一下KM发现 原来是因为安装过Crystal Report8以后,就会发生这样的问题 处理方式:安装修正程序即可(http://support.crystaldecisions.net/communitycs/filesandupdates/scr8_webregfix.exe) 相关讯息网址如下: http...
阅读全文
posted @
2008-06-12 09:30
topcat
阅读(384)
推荐(0)
N-Tiers使用ObjectDataSouce如何自己处理中间层传回的错误讯息
摘要:使用ObjectDataSouce可以让ASP.NET透过Object中的Function与中间层(商业逻辑)的程序做沟通但是在中间层中可能有些自定义的错误会产生我们希望自己处理这些的错误讯息,并且把这个讯息安排在画面中的Label显示这应该怎么做呢 假设要处理的是ObjectDataSource的Update时,启动商业逻辑的组件,该组件传回一个错误讯息此时在Object中的Try...Catc...
阅读全文
posted @
2008-06-12 09:28
topcat
阅读(232)
推荐(0)
解决Windows2003使用Transaction无法使用MSDTC设定
摘要:小喵第一次使用Windows2003当作Web与COM+,却发生了在维护资料的时候,出现了【交易已被隐含或明确地认可或中止】的讯息。由于与数据库(Windows2000)不同台,经过网络上搜寻相关的问题,找到大约与MSDTC的设定有关 由于Windows2003或者WindowsXp中的COM+版本为1.5在使用跨机器的Transaction时,会出现【交易已被隐含或明确地认可或中止】 解决方式,...
阅读全文
posted @
2008-06-12 09:25
topcat
阅读(451)
推荐(0)
ASP.NET2.0 多层架构的数据沟通接口Object DataSouce
摘要:当我们设计多层式的Web应用系统时,数据的存取不在是直接透过sqlDataSouce来处理,而是透过中间层(商业逻辑层)的Web Service或者是Com+组件来处理 以往要写这样的方式,必须撰写许多的程序,才能够实现这样的架构,而新的ASP.NET 2增加了一个新的Web Control→Object DataSource,可以让我们写粉简短的程序,就能够做到类似sqlDataSouce的功能...
阅读全文
posted @
2008-06-09 19:03
topcat
阅读(318)
推荐(1)
.NET呼叫VB6撰写组件【释放资源】的语法
摘要:在撰写.NET的时候,.NET并不会自动作资源回收,所以呼叫完组件后,需要自己下语法将资源回收 如果呼叫的是.NET所撰写的COM+组件,那么资源回收的语法是 Obj.Dispose() Obj = Nothing 但是如果呼叫的是VB6的组件,那么不能呼叫Dispose将资源释放 所以需要用以下的指令将资源释放(组件服务中的数字会停下来) System.Runtime.InteropSer...
阅读全文
posted @
2008-06-08 20:03
topcat
阅读(246)
推荐(0)
N-Tiers开发方式(ASP/ASP.NET、VB6/VB.NET呼叫使用COM+组件)
摘要:續接:N-Tiers開發方式(COM+元件的註冊、修改) 在元件安裝完成後,接下來的工作就是要如何呼叫使用我們寫好的元件了。我們假設我們寫好的元件的名稱如下: Package:KDMO1000 Project:PDMOMenu Class: CDMOMenu1(無Transaction) CDMOMenu2(有Transaction) 假設CDMOMenu1中有一個Function是GetNod...
阅读全文
posted @
2008-06-08 12:25
topcat
阅读(302)
推荐(0)
N-Tiers开发方式(为何使用COM+组件的撰写商业逻辑层)
摘要:在上一篇N-Tier方式开发(系统分析) 提到了商业逻辑层的开发,为何会选用COM+来处理,主要有两个原因: 确保交易的完整性:可交由COM+支持Transaction的机制处理 Web App切换身分执行组件 一、确保交易的完整性: 在确保交易的完整性,可以透过COM+对于Transaction的支持,让拆解各功能的时候,不必特意的去考虑Transation异动的部份...
阅读全文
posted @
2008-06-08 10:56
topcat
阅读(330)
推荐(0)
N-Tier开发方式(系统分析)
摘要:当小喵在开发一个较为大型的系统时,会做以下的分析过程 系统需求分析: 与使用者详谈,访问使用者须要的是什么 条列需求:将访谈后的需求加以整理,并加以条列 需求确认:将整理条列出的需求,给使用者逐条加以确认,如有不足,追加并确认之 功能分析: 条列功能:将使用者以确认之条列需...
阅读全文
posted @
2008-06-08 10:52
topcat
阅读(371)
推荐(0)
注册ICSharpCode.SharpZipLib.dll到操作系统中让ASP可以透过COM+呼叫
摘要:在之前的一篇使用自定义的类别透过SharpZip执行Zip压缩、解压缩(VB.NET) 小喵用一个类别把SharpZip做了一个包装,让使用上能够更直观。小喵心想如果能够再把他写成COM+组件的话,那么就能够让ASP或者VB呼叫使用,可用范围更扩大。 转成COM+的组件需要一些额外的设定,这与一般COM+组件的写法是一样的,有需要的请参考这篇: N-Tiers开发方式(如何使用VB.NET撰写...
阅读全文
posted @
2008-06-08 00:10
topcat
阅读(840)
推荐(0)