using System; using System.Collections; using System.ComponentModel; using System.Data; using System.Drawing; using System.Web; using System.Web.SessionState; using System.Web.UI; using System.Web.UI.WebControls; using System.Web.UI.HtmlControls; using System.Runtime.InteropServices;namespace WebApplication1 { /// <summary> /// WebForm1 的摘要说明。 /// </summary> /// public class WebForm1 : System.Web.UI.Page { protected System.Web.UI.WebControls.Button Button1; protected System.Web.UI.WebControls.TextBox result; [DllImport("mydll.dll")] public static extern void Calc(); private void Page_Load(object sender, System.EventArgs e) { // 在此处放置用户代码以初始化页面 Response.Write("---------"); Calc(); Response.Write("<br>"); result.Text="56"; } #region Web 窗体设计器生成的代码 override protected void OnInit(EventArgs e) { // // CODEGEN: 该调用是 ASP.NET Web 窗体设计器所必需的。 // InitializeComponent(); base.OnInit(e); }
c++的代码:#pragma argsused
int WINAPI DllEntryPoint(HINSTANCE hinst, unsigned long reason, void* lpReserved)
{
return 1;
}
//---------------------------------------------------------------------------
extern "C" __declspec(dllexport) void __stdcall Calc() //导出函数
{
printf("Content-Type: text/plain;");
printf("987654321");
}
using System.Collections;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Web;
using System.Web.SessionState;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;
using System.Runtime.InteropServices;namespace WebApplication1
{
/// <summary>
/// WebForm1 的摘要说明。
/// </summary>
///
public class WebForm1 : System.Web.UI.Page
{
protected System.Web.UI.WebControls.Button Button1; protected System.Web.UI.WebControls.TextBox result; [DllImport("mydll.dll")]
public static extern void Calc();
private void Page_Load(object sender, System.EventArgs e)
{
// 在此处放置用户代码以初始化页面
Response.Write("---------");
Calc();
Response.Write("<br>");
result.Text="56";
} #region Web 窗体设计器生成的代码
override protected void OnInit(EventArgs e)
{
//
// CODEGEN: 该调用是 ASP.NET Web 窗体设计器所必需的。
//
InitializeComponent();
base.OnInit(e);
}
/// <summary>
/// 设计器支持所需的方法 - 不要使用代码编辑器修改
/// 此方法的内容。
/// </summary>
private void InitializeComponent()
{
this.Button1.Click += new System.EventHandler(this.Button1_Click);
this.Load += new System.EventHandler(this.Page_Load); }
#endregion
}}
============停止IIS服务,然后再任务管理器中终止aspnet_wp.exe.这样就可以删除了。如果你是用vs2005调试的,那么终止asp.net development server
Marshal.ReleaseComObject();
另外Marshal.ReleaseComObject();是对com对象有用,试过了不行,不知道还有没有另外的方法,下面两个网址都介绍了Finalize的方法释放资源,可以不理解怎么搞? 高人可以指点下吗?
http://blog.csdn.net/mlks_2008/archive/2007/06/01/1633892.aspx
http://www.cnblogs.com/Laeb/archive/2007/02/05/640956.html