我想在控制台应用程序,VB.NET,VS 2010 Beta 2中使用HttpUtility.UrlEncode.
System.Web.HttpUtility.UrlEncode(item)
Run Code Online (Sandbox Code Playgroud)
错误消息:'HttpUtility'不是'Web'的成员.
在这个问题中, Anjisan建议添加对System.Web的引用,如下所示:
但是,我在该位置没有System.Web条目.
.net vb.net urlencode console-application visual-studio-2010
我正在尝试将Web引用添加到VS2008 .Net 3.5控制台应用程序,但该选项不存在.有"添加参考"和"添加服务参考"的选项.
上下文:.Net 3.5,C#
我想在我的控制台应用程序中使用缓存机制.
我想使用System.Web.Caching.Cache(而这是最后的决定,我不能使用其他缓存框架,不要问为什么),而不是重新发明轮子.
但是,它看起来System.Web.Caching.Cache应该只在有效的HTTP上下文中运行.我非常简单的代码片段如下所示:
using System;
using System.Web.Caching;
using System.Web;
Cache c = new Cache();
try
{
c.Insert("a", 123);
}
catch (Exception ex)
{
Console.WriteLine("cannot insert to cache, exception:");
Console.WriteLine(ex);
}
Run Code Online (Sandbox Code Playgroud)
结果是:
cannot insert to cache, exception: System.NullReferenceException: Object reference not set to an instance of an object. at System.Web.Caching.Cache.Insert(String key, Object value) at MyClass.RunSnippet()
显然,我在这里做错了.有任何想法吗?
更新:+1到大多数答案,通过静态方法获取缓存是正确的用法,即HttpRuntime.Cache和HttpContext.Current.Cache.谢谢你们!
我有一个用c#编写的Windows服务,我需要从中运行一个控制台应用程序.控制台应用程序也用c#编写.
控制台应用程序运行时不是从Windows服务运行.当它从ws运行它没有做它应该做的任何事情,因为它应该工作10-20秒我在调试代码中看到立即执行.
我用以下代码启动我的控制台应用程序:
proc.Start(fullPathToConsole, args);
proc.WaitForExit();
Run Code Online (Sandbox Code Playgroud)
控制台的路径是正确的,当我试图从cmd或只是在资源管理器(没有args)运行它时,它工作正常.但在运行该服务后,我认为没有效果.
我已经尝试转到服务属性并授予它访问桌面的权限,并在系统和我的用户下运行(也在服务属性中指定).一切都保持不变.
附加:我知道服务没有ui,我不想要.我希望服务运行控制台应用程序.无需从中获取任何数据或像ui一样使用此控制台,只需运行它就可以完成它的工作.
更新我发现,运行计算或任何其他Windows应用程序很容易.但仍然无法运行cmd或任何控制台应用程序.实际上我需要在XP SP2和Windows 2003 Server上运行它.所以无论如何都不需要与Vista交互.
任何评论都会很高兴!
我有一个控制台应用程序执行一个漫长的过程.
我在新线上打印完成百分比,每完成1%.
如何让程序在控制台窗口的相同位置打印完成百分比?
我正在尝试编写一个Delphi控制台应用程序,为其标准输入创建一个TStream,为其标准输出创建另一个TStream.
(它将由主机应用程序启动,其输入和输出重定向到管道,并将二进制数据传入/传出该主机应用程序,因此TStream将比ReadLn/WriteLn更适合于该任务.)
如何在标准输入或标准输出上打开TStream?
我想调试一个用C#编写的服务,老式的方式太长了.我必须停止服务,启动我在调试模式下使用服务的应用程序(Visual Studio 2008),启动服务,附加到服务进程,然后在我的Asp.Net应用程序中导航以触发服务.
我基本上让服务在后台运行,等待任务.Web应用程序将触发服务选择的任务.
我想要做的是有一个控制台应用程序来激活服务,以便我调试.有没有人知道的简单演示?
与此问题类似, 在Visual Studio中编译为独立的可执行文件(.exe)
但没有什么对我有用.
我编写了一个在C#中非常简单的应用程序.我希望这个编译成一个独立的exe文件,但我似乎无法找到适当的设置来执行此操作.Everything编译成一个发布文件夹,只有setup/install文件.
谢谢!
我在C#中有一个控制台应用程序,我想用户将无法看到它.
我怎样才能做到这一点?
我想要发生的事情是控制台窗口消失了,或者更好,但它是隐藏的,但我希望我的应用程序继续运行.那可能吗?我希望能够使用Console.WriteLine并将控制台用作输出窗口.我希望能够隐藏和显示它,并且我不希望整个应用程序因为控制台关闭而死亡.
编辑
码:
internal class SomeClass {
[DllImport("kernel32")]
private static extern bool AllocConsole();
private static void Main() {
AllocConsole();
while(true) continue;
}
}
Run Code Online (Sandbox Code Playgroud)
编辑2
我根据这个问题的评论中的建议尝试了这里接受的解决方案[ Capture console exit C# ].示例代码的错误在于DLLImport需要是"kernel32.dll"或"kernel32",而不是"Kernel32".进行更改后,当我单击控制台窗口上的X时,我正在向CTRL_CLOSE_EVENT的处理程序发送消息.但是,调用FreeConsole和/或返回true并不会阻止应用程序终止.