C#中寫簡單的COM+元件
關於C#中COM+的使用大致是這樣的:COM+需要伺服器端和客戶端,個人意見COM+更合適於B/S系統中。
關於伺服器構造是這樣的:
1、首先新建一個類庫。(這裡我們把它命名為TestCom)
它會生成兩個檔案,AssemblyInfo.cs和Class1.cs
2、新增新類( server.cs )
3、新增引用( System.EnterpriseServices )
4、回到Class1.cs 將其該為介面。
using System;
namespace TestCom
{
public interface Class1
{
string test();
}
}
5、開啟server.cs 的程式碼
在程式碼Using 中新增引用:using System.EnterpriseServices
將server.cs繼承ServicedComponent,Class1。它會自動有個提示,按TAB。。。。。
具體程式碼如下:
using System;
using System.EnterpriseServices;
namespace TestCom
{
/// <summary>
/// server 的摘要說明。
/// </summary>
public class server: ServicedComponent,Class1
{
public server()
{
//
// TOD 在此處新增建構函式邏輯
//
}
#region Class1 成員
public string test()
{
string a = "mm";
return a; //隨便傳個string
}
#endregion
}
}
6、回到AssemblyInfo.cs,新增引用
using System.EnterpriseServices;
新增程式碼:
//將元件設定為伺服器啟動模式。
[assembly: ApplicationActivation(ActivationOption.Server) ]
//制定應用伺服器名稱
[assembly: ApplicationName("Server")]
接下來,給伺服器程式一個強名稱。(相當於註冊)
7、開啟Visual Studio 命令提示
找到檔案的地址,輸入sn -k ,生成密匙
server.snk為生成的檔名稱,( 執行完成後,檔案裡會多出一個檔案server.snk )
8、強名稱生成完後,回到程式中
在AssemblyInfo.cs中最後幾排,可以發現[assembly: AssemblyKeyFile(" ")]
把檔案路徑寫進去[assembly: AssemblyKeyFile("../../server.snk")]
9、生成解決方案,在OBJ \ debug 中會有個TestCom.dll
回到Visual Studio .Net2003 命令提示,到檔案obj\debug目錄下,執行regsvcs 命令,註冊服務。
我機器上是這樣的
E:\C#\TestCom\TestCom\obj\debug > regsvcs testCom.dll;
這樣,伺服器就構建完成。
開啟我的電腦,控制皮膚,管理工具,元件服務,com+應用程式,
現在我們可以看到com+中多了個,server
這個就是你所建的伺服器
10、在server上按右鍵,開啟屬性,修改安全性:呼叫身份驗證級別為:
無,模擬級別為標識。授權下的勾去掉( 這些是根據情況需要更改的,現在僅僅做個本機上的列子)。
然後找到啟用,遠端伺服器名稱改成你自己機器的IP地址。
11、建立客戶端。
建一個winfrom
加入引用:using System.EnterpriseServices
using TestCom;
在客戶端要引用的地方new 一下就可以直接用其中的方法了。
關於伺服器構造是這樣的:
1、首先新建一個類庫。(這裡我們把它命名為TestCom)
它會生成兩個檔案,AssemblyInfo.cs和Class1.cs
2、新增新類( server.cs )
3、新增引用( System.EnterpriseServices )
4、回到Class1.cs 將其該為介面。
using System;
namespace TestCom
{
public interface Class1
{
string test();
}
}
5、開啟server.cs 的程式碼
在程式碼Using 中新增引用:using System.EnterpriseServices
將server.cs繼承ServicedComponent,Class1。它會自動有個提示,按TAB。。。。。
具體程式碼如下:
using System;
using System.EnterpriseServices;
namespace TestCom
{
/// <summary>
/// server 的摘要說明。
/// </summary>
public class server: ServicedComponent,Class1
{
public server()
{
//
// TOD 在此處新增建構函式邏輯
//
}
#region Class1 成員
public string test()
{
string a = "mm";
return a; //隨便傳個string
}
#endregion
}
}
6、回到AssemblyInfo.cs,新增引用
using System.EnterpriseServices;
新增程式碼:
//將元件設定為伺服器啟動模式。
[assembly: ApplicationActivation(ActivationOption.Server) ]
//制定應用伺服器名稱
[assembly: ApplicationName("Server")]
接下來,給伺服器程式一個強名稱。(相當於註冊)
7、開啟Visual Studio 命令提示
找到檔案的地址,輸入sn -k ,生成密匙
server.snk為生成的檔名稱,( 執行完成後,檔案裡會多出一個檔案server.snk )
8、強名稱生成完後,回到程式中
在AssemblyInfo.cs中最後幾排,可以發現[assembly: AssemblyKeyFile(" ")]
把檔案路徑寫進去[assembly: AssemblyKeyFile("../../server.snk")]
9、生成解決方案,在OBJ \ debug 中會有個TestCom.dll
回到Visual Studio .Net2003 命令提示,到檔案obj\debug目錄下,執行regsvcs 命令,註冊服務。
我機器上是這樣的
E:\C#\TestCom\TestCom\obj\debug > regsvcs testCom.dll;
這樣,伺服器就構建完成。
開啟我的電腦,控制皮膚,管理工具,元件服務,com+應用程式,
現在我們可以看到com+中多了個,server
這個就是你所建的伺服器
10、在server上按右鍵,開啟屬性,修改安全性:呼叫身份驗證級別為:
無,模擬級別為標識。授權下的勾去掉( 這些是根據情況需要更改的,現在僅僅做個本機上的列子)。
然後找到啟用,遠端伺服器名稱改成你自己機器的IP地址。
11、建立客戶端。
建一個winfrom
加入引用:using System.EnterpriseServices
using TestCom;
在客戶端要引用的地方new 一下就可以直接用其中的方法了。
相關文章
- C#中簡單的元件呼叫C#元件
- 使用C#開發COM+元件 (轉)C#元件
- 手寫簡單的元件化跳轉Router元件化
- 如何寫一個簡單的分頁元件(原理)元件
- C#中的幾個簡單技術點C#
- 使用C#寫出一個簡單的記事本程式C#
- 排除Delphi5中編寫COM+程式的一個錯誤 (轉)
- 教你如何寫一個簡單的折線圖控制元件控制元件
- [Vue]寫一個簡單的檔案上傳控制元件Vue控制元件
- C#中WebService的建立、部署和呼叫的簡單例項C#Web單例
- C#常用控制元件縮寫C#控制元件
- 簡簡單單的Vue2(簡單語法,生命週期,元件)Vue元件
- C# 編寫一個簡單易用的 Windows 截圖增強工具C#Windows
- 簡單的Tab切換元件元件
- 用Visual C# .NET開發簡單的複合控制元件 (轉)C#控制元件
- 20行程式碼寫一個簡單 Blazor 時鐘元件行程Blazor元件
- 簡單的C#日誌類C#
- COM+元件啟動報錯問題處理元件
- 【C#入門超簡單】簡單的專案實踐C#
- 簡單的自定義表單控制元件控制元件
- C#簡單操作MongoDBC#MongoDB
- C# superSocket簡單示例C#
- C#:XML操作(簡單)C#XML
- C#中基類的重寫C#
- 手寫簡單的RPCRPC
- 簡單的C# 猜數字遊戲C#遊戲
- C#教程:簡單的歡迎程式
- 不到150行程式碼,寫一個簡單的Flutter狀態管理元件行程Flutter元件
- 你用過不寫程式碼就能完成一個簡單模組的元件麼?元件
- COM+物件池元件崩潰除錯手記 (轉)物件元件除錯
- C#反射的Assembly的簡單應用C#反射
- C# 單例模式的五種寫法C#單例模式
- c# 中呼叫COM元件 (轉)C#元件
- 在C#中使用COM+實現事務控制 (轉)C#
- 關於SQL Server中儲存過程在C#中呼叫的簡單示例SQLServer儲存過程C#
- C# Winform常用控制元件縮寫大全C#ORM控制元件
- 簡單明朗的 RNN 寫詩教程RNN
- iOS 簡單資料的讀寫iOS