作者 主題: Add .net Component into COM 簡化版| 應用於 vbscript 遠端呼叫  (閱讀 4668 次)

0 會員 與 1 訪客 正在閱讀本文。

小徒兒

  • 鑽研的研究生
  • *****
  • 文章數: 622
    • 檢視個人資料
1. new one .net C# .dll project name:BankComponentServer

2. change the class1.cs to Account.cs

add reference System.EnterPriseService

代碼: [選擇]

using System.EnterpriseServices;
[assembly: ApplicationName("BankComponent")]
[assembly: AssemblyKeyFile("Demos.snk")]


namespace BankComponentServer
{
[Transaction(TransactionOption.Required)]
public class Account : ServicedComponent
{
[AutoComplete]
public bool Post(int accountNum, double amount)
{
return true;
// Updates the database, no need to call SetComplete.
// Calls SetComplete automatically if no exception is thrown.
}
}
}



3. in vs .net command tool ,generate the key

sn -k Demos.snk

4. copy the Demos.snk to the

C:\Documents and Settings\youracount\My Documents\Visual Studio Projects\BankComponentServer\obj\Debug


5. make the dll

6. 在元件服務中加入此元件

in the 元件管理
COM +應用程式

新增應用程式/建立空的應用程式/
使用 [assembly: ApplicationName("BankComponent")] 中的名字: BankComponent
checked: 伺服應用程式
使用下列使用者,可以有寫入webserver 檔案系統及執行shell的

[keyin the domain\username]
[passwordofuser]
[passwordofuser]

7. on the BankComponent 伺服應用程式 /元件/右鍵新增元件
選擇安裝新元件

選C:\Documents and Settings\yourusername\My Documents\Visual Studio Projects\BankComponentServer\obj\Debug\BankComponentServer.dll

8.選擇元件/內容/ 安全設定 強制元件存取 的勾勾拿掉

9.修改machine code, 如果沒有自行新增機碼

regedit

代碼: [選擇]

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W3SVC\
    Parameters\ADCLaunch\yourprogid.yourclassname (project and class name of your Business Object)

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W3SVC\
    Parameters\ADCLaunch\BankComponentServer.Account



10. 可以了,醬就可以call call 看

代碼: [選擇]

<html>
<head>

<Script Language=VBScript>

Dim rds,rs,df,df2,ServerStr
   dim strSQL,StrRs
   dim ME001,ME002

set rds = CreateObject("RDS.Dataspace")
Set df = rds.CreateObject("BankComponentServer.Account","<%=Session("http")%><%=Request.ServerVariables("SERVER_NAME")%>")
alert df.Post(1,1.0)
</Script>
</head>
<body>
</body>
</html>



asp code
代碼: [選擇]


<html>
<head>
<%

Dim rs2,df
Set df = CreateObject("BankComponentServer.Account","218.184.93.153")

'Set df = Server.CreateObject("BankComponentServer.Account")
response.write df.Post(1,1.0)

%>

</head>
<body>
</body>
</html>

小徒兒

  • 鑽研的研究生
  • *****
  • 文章數: 622
    • 檢視個人資料
拷貝到遠端server使用
« 回覆 #1 於: 2005-09-13 14:19 »
1.將在debug folder下產生的 .dll, tlb , Demos.snk檔, copy到 server下的
/windows/system32/

2.註冊

3. 加入元件管理
    v  記得使用帳號及密碼 啟動
        記得應用程式及元件都將
    v  安全 強制此應用程式的檢查拿掉

4.加入machine code