Redian新闻
>
这样是通常的启动asp.net方法吗?
avatar
这样是通常的启动asp.net方法吗?# DotNet - 窗口里的风景
b*i
1
我的solution包含两个project, 一个C#,一个asp.net,通过pipe来通讯。所以,网站
打开后,什么也没有,因为在等待c#程序打开pipe。我现在是手动打开c#程序,然后网
站就正常了。
有没有办法是让我打开网站的时候,那个c#程序自动打开?谢谢。
avatar
vn
2
手动打开的是exe?
avatar
a9
3
搞成个windows service自动随系统启动就行了。

【在 b***i 的大作中提到】
: 我的solution包含两个project, 一个C#,一个asp.net,通过pipe来通讯。所以,网站
: 打开后,什么也没有,因为在等待c#程序打开pipe。我现在是手动打开c#程序,然后网
: 站就正常了。
: 有没有办法是让我打开网站的时候,那个c#程序自动打开?谢谢。

avatar
c*t
4
check this out: http://msdn.microsoft.com/en-us/library/ms165413%28v=vs.80%29.aspx

【在 b***i 的大作中提到】
: 我的solution包含两个project, 一个C#,一个asp.net,通过pipe来通讯。所以,网站
: 打开后,什么也没有,因为在等待c#程序打开pipe。我现在是手动打开c#程序,然后网
: 站就正常了。
: 有没有办法是让我打开网站的时候,那个c#程序自动打开?谢谢。

avatar
s*o
7
Like a9 said, turn it into a Windows Service, or wrap it with WCF, then
deploy it as a service.
Or make it a class library project, your web project refer to it directly if
it's not shared by other programs.

【在 b***i 的大作中提到】
: 我是multiple的,我调试的时候,两个程序同时启动,所以可以看到网页。
: 然后,怎么publish呢?单独一个project我会publish。

avatar
vn
8
我觉得应该在Application_Start里开一个线程调用你的另外的code哦
ls说的wcf似乎有点过分了。。。
还有这个好像不叫publish。。。就叫run。。。//run
avatar
vn
9
哦 如果你两个project在不同的server上就用wcf。。。
avatar
vn
10
突然在想 你的website一起来 另外一个也起来
website一关上 另外一个怎么办?
avatar
a9
11
把这种应用放在aspnet里面,很容易停掉的。

【在 vn 的大作中提到】
: 我觉得应该在Application_Start里开一个线程调用你的另外的code哦
: ls说的wcf似乎有点过分了。。。
: 还有这个好像不叫publish。。。就叫run。。。//run

avatar
vn
12
他的意思好像是website停了service也就停了。。。
anyway 搜了下 lz可以看看这个 有个回复说在vs2010里面
Instead of starting your thread in Application_Start you create a custom
class that implements IProcessHostPreloadClient。。。
http://stackoverflow.com/questions/3514754/what-are-the-dangers

【在 a9 的大作中提到】
: 把这种应用放在aspnet里面,很容易停掉的。
avatar
s*o
13
the named pipe binding in WCF is actually optimized for on-machine
communications.

【在 vn 的大作中提到】
: 我觉得应该在Application_Start里开一个线程调用你的另外的code哦
: ls说的wcf似乎有点过分了。。。
: 还有这个好像不叫publish。。。就叫run。。。//run

avatar
vn
14
lz本意只是要打开一个程序 并不是要做pipe

★ 发自iPhone App: ChineseWeb 7.5

【在 s***o 的大作中提到】
: the named pipe binding in WCF is actually optimized for on-machine
: communications.

avatar
b*i
15
我用pipe来传递简单的信息,比如字符串,我每秒钟从一个程序发送到asp.net那个
pipe,从而网页的内容会虽时更新。两个程序运行在一个计算机上。
我不需要asp.net关掉,运行了就可以一直运行,没有网络请求也可以继续运行,
windows是把没有web请求 的asp.net关掉吗还是就是service会关掉?
实在不行,我就手动运行这个C#程序?

【在 vn 的大作中提到】
: lz本意只是要打开一个程序 并不是要做pipe
:
: ★ 发自iPhone App: ChineseWeb 7.5

avatar
a9
16
asp.net application可能随时会停掉。

【在 b***i 的大作中提到】
: 我用pipe来传递简单的信息,比如字符串,我每秒钟从一个程序发送到asp.net那个
: pipe,从而网页的内容会虽时更新。两个程序运行在一个计算机上。
: 我不需要asp.net关掉,运行了就可以一直运行,没有网络请求也可以继续运行,
: windows是把没有web请求 的asp.net关掉吗还是就是service会关掉?
: 实在不行,我就手动运行这个C#程序?

avatar
N*n
17
It's usually not ideal to try pipe communication with Asp.net unless
you don't care about performance and security that much.
The standard approach for a secured HA solution is to have a Sql DB
sitting in the background to bridge the communication. Your worker
C# app stores the result in the DB and lets Asp.Net app read them
from there. That way you have a loosely coupled solution.
avatar
vn
18
没有异常asp。net不会关吧
不过看你这样说我觉得好像把这个c#放在task schedule里面就行了 因为它的运行似乎
和asp没有啥关系嘛
低手低低地说。。。

【在 b***i 的大作中提到】
: 我用pipe来传递简单的信息,比如字符串,我每秒钟从一个程序发送到asp.net那个
: pipe,从而网页的内容会虽时更新。两个程序运行在一个计算机上。
: 我不需要asp.net关掉,运行了就可以一直运行,没有网络请求也可以继续运行,
: windows是把没有web请求 的asp.net关掉吗还是就是service会关掉?
: 实在不行,我就手动运行这个C#程序?

avatar
k*n
19
很难理解楼主的构架设计。。。
avatar
b*i
20
主要是我的通讯太简单了,就几个字符/秒。所以用pipe是个证明可行性的一个方案。
用数据库是不是太声势浩大了。我想,要不就用http request加上一些参数,在asp.
net里面读取这些参数,也行吧。就是,http://myaddress/xxxx.aspx?data=124,343,34
然后http://myaddress/yyyy.aspx来显示124 343 34

【在 N********n 的大作中提到】
: It's usually not ideal to try pipe communication with Asp.net unless
: you don't care about performance and security that much.
: The standard approach for a secured HA solution is to have a Sql DB
: sitting in the background to bridge the communication. Your worker
: C# app stores the result in the DB and lets Asp.Net app read them
: from there. That way you have a loosely coupled solution.

avatar
N*n
21

In that case you can make your C# module a service like what people
stated upstairs. That way you could set the service to be always-on
so your asp.net app could pipe in w/o having to start it at first.

【在 b***i 的大作中提到】
: 主要是我的通讯太简单了,就几个字符/秒。所以用pipe是个证明可行性的一个方案。
: 用数据库是不是太声势浩大了。我想,要不就用http request加上一些参数,在asp.
: net里面读取这些参数,也行吧。就是,http://myaddress/xxxx.aspx?data=124,343,34
: 然后http://myaddress/yyyy.aspx来显示124 343 34

avatar
b*i
23
我的solution包含两个project, 一个C#,一个asp.net,通过pipe来通讯。所以,网站
打开后,什么也没有,因为在等待c#程序打开pipe。我现在是手动打开c#程序,然后网
站就正常了。
有没有办法是让我打开网站的时候,那个c#程序自动打开?谢谢。
avatar
vn
24
手动打开的是exe?
avatar
a9
25
搞成个windows service自动随系统启动就行了。

【在 b***i 的大作中提到】
: 我的solution包含两个project, 一个C#,一个asp.net,通过pipe来通讯。所以,网站
: 打开后,什么也没有,因为在等待c#程序打开pipe。我现在是手动打开c#程序,然后网
: 站就正常了。
: 有没有办法是让我打开网站的时候,那个c#程序自动打开?谢谢。

avatar
c*t
26
check this out: http://msdn.microsoft.com/en-us/library/ms165413%28v=vs.80%29.aspx

【在 b***i 的大作中提到】
: 我的solution包含两个project, 一个C#,一个asp.net,通过pipe来通讯。所以,网站
: 打开后,什么也没有,因为在等待c#程序打开pipe。我现在是手动打开c#程序,然后网
: 站就正常了。
: 有没有办法是让我打开网站的时候,那个c#程序自动打开?谢谢。

avatar
s*o
29
Like a9 said, turn it into a Windows Service, or wrap it with WCF, then
deploy it as a service.
Or make it a class library project, your web project refer to it directly if
it's not shared by other programs.

【在 b***i 的大作中提到】
: 我是multiple的,我调试的时候,两个程序同时启动,所以可以看到网页。
: 然后,怎么publish呢?单独一个project我会publish。

avatar
vn
30
我觉得应该在Application_Start里开一个线程调用你的另外的code哦
ls说的wcf似乎有点过分了。。。
还有这个好像不叫publish。。。就叫run。。。//run
avatar
vn
31
哦 如果你两个project在不同的server上就用wcf。。。
avatar
vn
32
突然在想 你的website一起来 另外一个也起来
website一关上 另外一个怎么办?
avatar
a9
33
把这种应用放在aspnet里面,很容易停掉的。

【在 vn 的大作中提到】
: 我觉得应该在Application_Start里开一个线程调用你的另外的code哦
: ls说的wcf似乎有点过分了。。。
: 还有这个好像不叫publish。。。就叫run。。。//run

avatar
vn
34
他的意思好像是website停了service也就停了。。。
anyway 搜了下 lz可以看看这个 有个回复说在vs2010里面
Instead of starting your thread in Application_Start you create a custom
class that implements IProcessHostPreloadClient。。。
http://stackoverflow.com/questions/3514754/what-are-the-dangers

【在 a9 的大作中提到】
: 把这种应用放在aspnet里面,很容易停掉的。
avatar
s*o
35
the named pipe binding in WCF is actually optimized for on-machine
communications.

【在 vn 的大作中提到】
: 我觉得应该在Application_Start里开一个线程调用你的另外的code哦
: ls说的wcf似乎有点过分了。。。
: 还有这个好像不叫publish。。。就叫run。。。//run

avatar
vn
36
lz本意只是要打开一个程序 并不是要做pipe

★ 发自iPhone App: ChineseWeb 7.5

【在 s***o 的大作中提到】
: the named pipe binding in WCF is actually optimized for on-machine
: communications.

avatar
b*i
37
我用pipe来传递简单的信息,比如字符串,我每秒钟从一个程序发送到asp.net那个
pipe,从而网页的内容会虽时更新。两个程序运行在一个计算机上。
我不需要asp.net关掉,运行了就可以一直运行,没有网络请求也可以继续运行,
windows是把没有web请求 的asp.net关掉吗还是就是service会关掉?
实在不行,我就手动运行这个C#程序?

【在 vn 的大作中提到】
: lz本意只是要打开一个程序 并不是要做pipe
:
: ★ 发自iPhone App: ChineseWeb 7.5

avatar
a9
38
asp.net application可能随时会停掉。

【在 b***i 的大作中提到】
: 我用pipe来传递简单的信息,比如字符串,我每秒钟从一个程序发送到asp.net那个
: pipe,从而网页的内容会虽时更新。两个程序运行在一个计算机上。
: 我不需要asp.net关掉,运行了就可以一直运行,没有网络请求也可以继续运行,
: windows是把没有web请求 的asp.net关掉吗还是就是service会关掉?
: 实在不行,我就手动运行这个C#程序?

avatar
N*n
39
It's usually not ideal to try pipe communication with Asp.net unless
you don't care about performance and security that much.
The standard approach for a secured HA solution is to have a Sql DB
sitting in the background to bridge the communication. Your worker
C# app stores the result in the DB and lets Asp.Net app read them
from there. That way you have a loosely coupled solution.
avatar
vn
40
没有异常asp。net不会关吧
不过看你这样说我觉得好像把这个c#放在task schedule里面就行了 因为它的运行似乎
和asp没有啥关系嘛
低手低低地说。。。

【在 b***i 的大作中提到】
: 我用pipe来传递简单的信息,比如字符串,我每秒钟从一个程序发送到asp.net那个
: pipe,从而网页的内容会虽时更新。两个程序运行在一个计算机上。
: 我不需要asp.net关掉,运行了就可以一直运行,没有网络请求也可以继续运行,
: windows是把没有web请求 的asp.net关掉吗还是就是service会关掉?
: 实在不行,我就手动运行这个C#程序?

avatar
k*n
41
很难理解楼主的构架设计。。。
avatar
b*i
42
主要是我的通讯太简单了,就几个字符/秒。所以用pipe是个证明可行性的一个方案。
用数据库是不是太声势浩大了。我想,要不就用http request加上一些参数,在asp.
net里面读取这些参数,也行吧。就是,http://myaddress/xxxx.aspx?data=124,343,34
然后http://myaddress/yyyy.aspx来显示124 343 34

【在 N********n 的大作中提到】
: It's usually not ideal to try pipe communication with Asp.net unless
: you don't care about performance and security that much.
: The standard approach for a secured HA solution is to have a Sql DB
: sitting in the background to bridge the communication. Your worker
: C# app stores the result in the DB and lets Asp.Net app read them
: from there. That way you have a loosely coupled solution.

avatar
N*n
43

In that case you can make your C# module a service like what people
stated upstairs. That way you could set the service to be always-on
so your asp.net app could pipe in w/o having to start it at first.

【在 b***i 的大作中提到】
: 主要是我的通讯太简单了,就几个字符/秒。所以用pipe是个证明可行性的一个方案。
: 用数据库是不是太声势浩大了。我想,要不就用http request加上一些参数,在asp.
: net里面读取这些参数,也行吧。就是,http://myaddress/xxxx.aspx?data=124,343,34
: 然后http://myaddress/yyyy.aspx来显示124 343 34

avatar
b*i
45
我要做的是在服务器上,把一个程序的结果,一行字符串,每秒钟一次传给同机的网站
程序。这样,任何人都可以通过网站看到我的结果。
我说的那个xxxx, yyyy是solution的一种,pipe是另一种。但无论怎样做,都得让网站
程序成为service,才能自动运行。

【在 vn 的大作中提到】
: “就是,http://myaddress/xxxx.aspx?data=124,343,34
: ”
: 你要做的就是这个功能吗?看得我也不理解了。。。

avatar
s*o
46
still not sure what you are trying to achieve. Web is stateless, IIS
generates a response only when it receives a request, and this is when your
custom code in your web app contacts the service app and get result from it
(and use it as part of the output of the page). Your service acts as a "
listener" here. Trying to initiate the communication from the service end is
in a "wrong" direction.
Or if what you want to do is that your "service" continues to send
information to an opened web page in browser, then you are trying to
implement a "push" service. That's a completely different story and you can
have a look on signalR.

【在 b***i 的大作中提到】
: 我要做的是在服务器上,把一个程序的结果,一行字符串,每秒钟一次传给同机的网站
: 程序。这样,任何人都可以通过网站看到我的结果。
: 我说的那个xxxx, yyyy是solution的一种,pipe是另一种。但无论怎样做,都得让网站
: 程序成为service,才能自动运行。

avatar
x*n
47
你可以在web应用中host一个service, 那个单独的程序向这个service发送数据,然后
service将数据存在application state中,所有的客户就都可以看到了。还有就是可以
像stdio说的那样,用 signalR push 到客户端;或则如果你知道所有客户端都支持web
socket的话,直接用 web socket 就好了。
avatar
x*n
48
或者你那个应用直接就写成一个servcie在你的web application中 host不行吗?如果
你真的要从web application中启动另外一个程序的话,你必须给web application特殊
的帐号,给他特殊的权限。
avatar
b*i
49
我的要求其实很简单啦,比如在一个展会上,我跟大家说,拿出你们的手机,输入如下
地址,就可以实时看到我们一个设备的数据。当然,这个网页里面有Ajax,可以每秒钟
读取网站数据一次,这个我就不说了。
现在就是,网站的.net程序如何从同机的设备控制程序那里得到数据。每秒钟1次即可
,数据很短,每次也就20个字符。就这么一个简单的东西。关键是,有一段时间两个程
序是同时启动的,不知怎么现在不是了。

web

【在 x**n 的大作中提到】
: 你可以在web应用中host一个service, 那个单独的程序向这个service发送数据,然后
: service将数据存在application state中,所有的客户就都可以看到了。还有就是可以
: 像stdio说的那样,用 signalR push 到客户端;或则如果你知道所有客户端都支持web
: socket的话,直接用 web socket 就好了。

avatar
x*n
50
这样啊,很简单。
你那个后台的程序作成一个Windows Service,这个Service Application Host 一个
WCF service,这些在Visual Studio都有现成的template的,几分钟就搞定。
你的web application就从这个wcf service读数据就行了,不用搞成从后台service向
前台写。这些加起来也就半个小时的事,如果你对这些不熟悉,顶天也就两小时。

【在 b***i 的大作中提到】
: 我的要求其实很简单啦,比如在一个展会上,我跟大家说,拿出你们的手机,输入如下
: 地址,就可以实时看到我们一个设备的数据。当然,这个网页里面有Ajax,可以每秒钟
: 读取网站数据一次,这个我就不说了。
: 现在就是,网站的.net程序如何从同机的设备控制程序那里得到数据。每秒钟1次即可
: ,数据很短,每次也就20个字符。就这么一个简单的东西。关键是,有一段时间两个程
: 序是同时启动的,不知怎么现在不是了。
:
: web

avatar
b*i
51
很久没搞,今天调试,发现我自己开发的机器是windows 7,iis7,调试没问题。
我试图向另一个电脑复制这个程序出了问题。是不是我得安装我的程序,就是说build
成Installation文件,然后到另一个电脑运行?或者我觉得是不是得publish到另外哪
个电脑的wwwroot?我今天在另外那个电脑看iis6的设置,然后browser,iis6的窗口出现
service unavailable,ie看localhost也是一样。windows xp的机器。这个会是什么原
因?
avatar
a9
52
没启用asp.net?

build

【在 b***i 的大作中提到】
: 很久没搞,今天调试,发现我自己开发的机器是windows 7,iis7,调试没问题。
: 我试图向另一个电脑复制这个程序出了问题。是不是我得安装我的程序,就是说build
: 成Installation文件,然后到另一个电脑运行?或者我觉得是不是得publish到另外哪
: 个电脑的wwwroot?我今天在另外那个电脑看iis6的设置,然后browser,iis6的窗口出现
: service unavailable,ie看localhost也是一样。windows xp的机器。这个会是什么原
: 因?

avatar
k*n
53
查iis 里.net app pool 的版本是不是3.5或4.0,
默认是2.x

build

【在 b***i 的大作中提到】
: 很久没搞,今天调试,发现我自己开发的机器是windows 7,iis7,调试没问题。
: 我试图向另一个电脑复制这个程序出了问题。是不是我得安装我的程序,就是说build
: 成Installation文件,然后到另一个电脑运行?或者我觉得是不是得publish到另外哪
: 个电脑的wwwroot?我今天在另外那个电脑看iis6的设置,然后browser,iis6的窗口出现
: service unavailable,ie看localhost也是一样。windows xp的机器。这个会是什么原
: 因?

avatar
b*i
54
iis是启动的。
重新安装了.net,结果service unavaiable 变成了web page not found...我记不得准
确的,但是却是发生了变化。

【在 k**n 的大作中提到】
: 查iis 里.net app pool 的版本是不是3.5或4.0,
: 默认是2.x
:
: build

相关阅读
logo
联系我们隐私协议©2024 redian.news
Redian新闻
Redian.news刊载任何文章,不代表同意其说法或描述,仅为提供更多信息,也不构成任何建议。文章信息的合法性及真实性由其作者负责,与Redian.news及其运营公司无关。欢迎投稿,如发现稿件侵权,或作者不愿在本网发表文章,请版权拥有者通知本网处理。