环境:win2003+IIS+php5.2.4+dotnet 2.0+vs2008
挪了个窝,最近又跑window下来了。
不想asp.net和php两边都实现一个逻辑一样的类库,所以想到了com。。。
c#:
namespace SSO_LibClient
{
public class API_SSO
{
public API_SSO()
{
}
public string GetDataTime()
{
return DateTime.Now.ToString();
}
}
}
运行:
SN -k MyCompany.Keys
SN -p MyCompany.keys MyCompany.PublicKey
修改:
[assembly: ComVisible(true)]
[assembly: AssemblyKeyFile("MyCompany.Keys")]
注册加载:
GACUTIL /u SSO_LibClient
REGASM SSO_LibClient.dll /tlb:SSO_LibClient.tlb
GACUTIL /if SSO_LibClient.dll
GACUTIL -l SSO_LibClient
------------------------------------------
PHP:
$dotClient = new COM("SSO_LibClient.API_SSO");
//$dotClient = new DOTNET("SSO_LibClient", "API_SSO");
//千万不要用这个该死的!
$ReturnValue = $dotClient->GetDataTime();
show($ReturnValue);
成功!
参考:
http://blog.youkuaiyun.com/jxufewbt/archive/2007/04/25/1584753.aspx
本文介绍如何在Windows 2003环境下使用IIS和PHP 5.2.4调用C#开发的COM组件,并提供了一个具体的示例,包括C#端的COM组件开发、注册及PHP端的调用方法。
209

被折叠的 条评论
为什么被折叠?



