• 全部
  • .NET Framework
  • ASP
  • Web Services
  • .NET互联网桌面应用
  • VB
  • 图表区
  • 分析与设计
  • 组件/控件开发
  • AppLauncher
  • 问答

如何使用asp.net调用windows服务程序,并返回服务程序的数据。

zhuyaowei 2006-04-21 03:45:20
我现在想要建立一个windows服务程序不停的接受数据,并把数据保存在内存中的一张表上。
还要建立一asp.net程序,不停的从这个表中读取数据出来。请问我该如何建立这个windows服务程序,使得asp.net可以访问这个内存表?
...全文
645 点赞 收藏 9
写回复
9 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
活靶子哥哥 2006-04-21
内存表???
你用你的windows程序和asp.net去访问同一个位于数据库的表就可以了
回复
zhuyaowei 2006-04-21
这是一个监控的,我通过ajax来获取数据,想做一个服务程序不停的接受数据,然后每隔一定时间保存到物理数据库中,ajax就直接调用服务器的代码来获取服务程序的数据,不知道这样的方法是否妥当,因为目前就是使用的物理数据库作为中转的。
回复
zhuyaowei 2006-04-21
由于是监控数据,时间间隔比较小大概在100毫秒,我想这样会不会快点?
有老大孟子E章就不会有问题了。
回复
孟子E章 2006-04-21
a's'pnet的参考
http://blog.csdn.net/net_lover/archive/2003/08/27/6943.aspx
回复
孟子E章 2006-04-21
你应该用物理数据库做桥梁而不是内存数据库
回复
sunchaohuang 2006-04-21
up
回复
7712190 2006-04-21
这个很简单亚 前几天我刚做了一个
只要建立一个 WINDOWSERVICE 服务程序 然后加入一个TIMER控件然后就可以了 送你代码一段
对了这个WINDOWSSERVICE还要引用 那个WEBSERVICE
using System;
using System.Collections;
using System.ComponentModel;
using System.Data;
using System.Diagnostics;
using System.ServiceProcess;


namespace DataWindowsService
{
public class DataService : System.ServiceProcess.ServiceBase
{
private System.Timers.Timer timer;
private string LogMessage;
/// <summary>
/// Required designer variable.
/// </summary>
private System.ComponentModel.Container components = null;

public DataService()
{
// This call is required by the Windows.Forms Component Designer.
InitializeComponent();

// TODO: Add any initialization after the InitComponent call
}
// The main entry point for the process
static void Main()
{
System.ServiceProcess.ServiceBase[] ServicesToRun;

// More than one user Service may run within the same process. To add
// another service to this process, change the following line to
// create a second service object. For example,
//
// ServicesToRun = new System.ServiceProcess.ServiceBase[] {new Service1(), new MySecondUserService()};
//
ServicesToRun = new System.ServiceProcess.ServiceBase[] { new DataService() };

System.ServiceProcess.ServiceBase.Run(ServicesToRun);
}

/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
private void InitializeComponent()
{
//double run =
this.timer = new System.Timers.Timer();
((System.ComponentModel.ISupportInitialize)(this.timer)).BeginInit();
//
// timer
//
this.timer.Enabled = true;
this.timer.Interval =Convert.ToDouble(Common.Utility.GetAppSetting("Time"));
this.timer.Elapsed += new System.Timers.ElapsedEventHandler(this.timer_Elapsed);
//
// DataService
//
this.CanPauseAndContinue = true;
this.CanShutdown = true;
this.ServiceName = "DataService";
((System.ComponentModel.ISupportInitialize)(this.timer)).EndInit();

}


/// <summary>
/// Clean up any resources being used.
/// </summary>
protected override void Dispose( bool disposing )
{
if( disposing )
{
if (components != null)
{
components.Dispose();
}
}
base.Dispose( disposing );
}

/// <summary>
/// Set things in motion so your service can do its work.
/// </summary>
protected override void OnStart(string[] args)
{
LogMessage = System.DateTime.Now.ToString();
Common.LogFunction.CreateLogFile("Windows Service Start at "+LogMessage);
timer.Start();

}

/// <summary>
/// Stop this service.
/// </summary>
protected override void OnStop()
{
timer.Stop();
LogMessage = System.DateTime.Now.ToString();
Common.LogFunction.CreateLogFile("Windows Service Stop at "+LogMessage);
}

private void timer_Elapsed(object sender, System.Timers.ElapsedEventArgs e)
{
Common.LogFunction.CreateLogFile("**********************************************************************************************");
try
{
LogMessage = System.DateTime.Now.ToString();
Common.LogFunction.CreateLogFile("Windows Service Run at "+LogMessage);
Common.DataOperate.BeginImportData();
Common.LogFunction.CreateLogFile("------------------------------------------------------------------------------------------");
Common.DataOperate.BeginUploadData();
}
catch(System.Exception ex)
{
LogMessage = System.DateTime.Now.ToString();
Common.LogFunction.CreateLogFile(ex.ToString()+LogMessage);
}
Common.LogFunction.CreateLogFile("**********************************************************************************************");

}


}
}
回复
zhaoliang_chen 2006-04-21
windows服务程序
mark
回复
ywj41 2006-04-21
顶 我也想知道这个!!是在web上调用吧?
回复
相关推荐
发帖
.NET技术社区
创建于2007-09-28

5.8w+

社区成员

.NET技术交流专区
申请成为版主
帖子事件
创建了帖子
2006-04-21 03:45
社区公告
暂无公告