小编Mun*_*Mun的帖子

RabbitMQ中的主题交换与直接交换

我们有一个应用程序将使用RabbitMQ并有几个不同的队列在层之间传递消息.

最初,我计划使用多个直接交换,每个消息类型一个,但看起来使用不同的路由键绑定与队列进行单个主题交换将实现相同的目的.

进行单次交换似乎也更容易维护,但我想知道是否有任何好处(如果有的话)以另一种方式做到这一点?

选项1,使用多个直接交换:

ExchangeA (type: direct)
-QueueA

ExchangeB (type: direct)
-QueueB

ExchangeC (type: direct)
-QueueC
Run Code Online (Sandbox Code Playgroud)

选项2,使用单一主题交换:

Exchange (type: topic)
-QueueA  (receives messages from exchange with routing key of "TypeA")
-QueueB  (receives messages from exchange with routing key of "TypeB")
-QueueC  (receives messages from exchange with routing key of "TypeC")
Run Code Online (Sandbox Code Playgroud)

message-queue rabbitmq rabbitmq-exchange

48
推荐指数
3
解决办法
3万
查看次数

Web.Config中Assemblies节点的用途是什么?

在Visual Studio 2005中创建新的ASP.NET AJAX Web应用程序时,默认的web.config包含以下部分(在编译节点内):

<assemblies>
    <add assembly="System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
</assemblies>
Run Code Online (Sandbox Code Playgroud)

程序集节点是否存在似乎不会影响AJAX功能.无论Web.Config中是否包含对System.Web.Extensions的引用,更新面板等都能正常工作.

本节的目的是什么,是否可以安全删除?

asp.net ajax configuration

39
推荐指数
2
解决办法
1万
查看次数

在ASP.NET中流式传输文件的最佳方式

使用ASP.NET流式传输文件的最佳方法是什么?

似乎有各种方法,我目前在http处理程序中使用Response.TransmitFile()方法,该方法直接将文件发送到浏览器.这用于各种事情,包括从Webroot外部发送FLV到嵌入式Flash视频播放器.

但是,这似乎不是一种可靠的方法.特别是,Internet Explorer(7)存在一个奇怪的问题,浏览器只是在观看一两个视频后挂起.单击任何链接等都没有任何效果,并且在网站上重新运行工作的唯一方法是关闭浏览器并重新打开它.

这在其他浏览器中也会发生,但更不频繁.基于一些基本的测试,我怀疑这与文件流的方式有关...也许连接没有正确关闭,或者沿着这些线路.

在尝试了几个不同的东西后,我发现以下方法对我有用:

Response.WriteFile(path);
Response.Flush();
Response.Close();
Response.End();
Run Code Online (Sandbox Code Playgroud)

这解决了上述问题,查看视频不再导致Internet Explorer挂起.

但是,我的理解是Response.WriteFile()首先将文件加载到内存中,并且假设流式传输的某些文件可能非常大,这似乎不是一个理想的解决方案.

我很想知道其他开发人员如何在ASP.NET中传输大文件,特别是流式传输FLV视频文件.

asp.net flash streaming video-streaming

34
推荐指数
3
解决办法
5万
查看次数

正确的卸载Windows服务的方法?

我有一个使用C#构建的Windows服务,它是通过VS2008安装项目安装的,并且在卸载过程中遇到了一些问题:

卸载前不会停止服务

卸载例程运行时,会引发有关正在使用的文件的错误.单击"继续"正确完成安装程序,但该服务仍显示在列表中,因此未正确卸载.

(目前,我不得不使用sc delete servicename手动删除它).

我试图在使用以下代码卸载之前停止服务,但它似乎没有生效:

protected override void OnBeforeUninstall(IDictionary savedState)
{
   base.OnBeforeUninstall(savedState);
   ServiceController serviceController = new ServiceController(MyInstaller.ServiceName);
   serviceController.Stop();
}
Run Code Online (Sandbox Code Playgroud)

何时调用此代码,如何在卸载之前停止服务?

卸载后未删除安装文件夹

应用程序还会在执行时在其安装文件夹中创建一些文件.卸载后,安装文件夹(C:\ Program Files\MyApp)不会被删除,并且包含应用程序创建的文件,但安装程序实际安装的所有其他文件都已成功删除.

卸载过程是否可以删除安装文件夹,包括该文件夹中的所有生成文件,如果是,如何删除?

谢谢.

c# setup-project visual-studio-2008

14
推荐指数
1
解决办法
6635
查看次数

如何为HttpHandlers禁用请求验证?

是否可以禁用HttpHandlers的请求验证?

一点背景 - 我有一个使用HttpHandler的ASP.NET Web应用程序来接收来自WorldPay的付款响应.IIS日志显示正在从WorldPay正确调用处理程序,但从不调用处理程序内的代码.

如果我创建一个物理ASPX页面并在标头中设置ValidateRequest = false,并在Page_Load方法中放入相同的代码,则会毫无问题地调用代码.

这解决了这个问题,虽然我更喜欢坚持使用HttpHandler,因为它更适合这种类型的功能,而不是拥有一个空的ASPX页面,尽管这取决于能否禁用请求验证.

Web应用程序使用的是ASP.NET 2.0,服务器是IIS6.

asp.net validation httphandler request

13
推荐指数
2
解决办法
7007
查看次数

将用户输入的搜索查询转换为where子句,以便在SQL Server全文搜索中使用

将用户输入的搜索词转换为可用于where子句进行全文搜索以查询表并获取相关结果的查询的最佳方法是什么?例如,用户输入以下查询:

+"e-mail" +attachment -"word document" -"e-learning"
Run Code Online (Sandbox Code Playgroud)

应该翻译成:

SELECT * FROM MyTable WHERE (CONTAINS(*, '"e-mail"')) AND (CONTAINS(*, '"attachment"')) AND (NOT CONTAINS(*, '"word document"')) AND (NOT CONTAINS(*, '"e-learning"'))
Run Code Online (Sandbox Code Playgroud)

我目前正在使用查询解析器类,它使用正则表达式将用户输入的查询解析为标记,然后从标记构造where子句.

但是,鉴于这可能是许多使用全文搜索的系统的常见要求,我很好奇其他开发人员如何处理这个问题,以及是否有更好的做事方式.

c# sql-server search full-text-search user-input

12
推荐指数
2
解决办法
5003
查看次数

如何在SQLite数据库中重新设置自动增量列?

是否可以在SQLite数据库中重新设置自动增量列,如果是这样,这是如何完成的?

即.相当于DBCC CHECKIDENT ('MyTable', RESEED, 1)SQL Server.

sql t-sql sqlite identity-column

12
推荐指数
2
解决办法
6574
查看次数

如何隐藏ListView控件中的列?

如何在ListView不将列Width属性设置为的情况下隐藏控件中的列0

另外,我可以锁定Width一列吗?

.net c# listview winforms

10
推荐指数
5
解决办法
4万
查看次数

将特定文件夹映射到web.config中的HttpHandler

是否可以将文件夹中的所有文件扩展名映射到特定的HttpHandler(假设它们的文件扩展名映射到IIS中的aspnet_isapi.dll)?

我已经将FLV扩展映射到IIS中的ASP.NET,并在我的Web应用程序中有一个名为Static的文件夹,其中包含以下文件:

  • 静态/ index.htm的
  • 静态/ MyFile.flv

索引文件是使用JW FLV Media Player播放FLV 的基本html页面.

在Web.Config中,在HttpHanders部分下,以下工作(加载FLV并成功播放):

<add verb="*" path="MyFile.flv" type="MyApp.PassthroughFileHandler, MyApp"/>
Run Code Online (Sandbox Code Playgroud)

但这不(视频无法加载):

<add verb="*" path="Static/*" type="MyApp.PassthroughFileHandler, MyApp"/>
Run Code Online (Sandbox Code Playgroud)

我尝试了各种组合,没有太多运气.

理想情况下,我希望能够让Static文件夹中的所有FLV都使用PassthroughFileHandler,而不必在web.config中单独指定每个文件名.

asp.net httphandler

8
推荐指数
2
解决办法
9740
查看次数

以编程方式搜索GMail?

有没有办法以编程方式搜索GMail,最好是使用C#?

例如,我想获取与搜索标签匹配的所有电子邮件:MyLabel from:no_reply@foo.bar,以便我可以根据需要解析电子邮件正文.

我发现远程可行的唯一的事情就是GMail的APIJohnvey黄某,虽然它看起来并不像它支持搜索电子邮件,也没有在多年要么更新.

无论如何,到目前为止,我还没有太多运气让它甚至连接到我的帐户,并且想知道这是否还能运作?

api search gmail

8
推荐指数
2
解决办法
5031
查看次数