Я пишу приложение для сокращения URL, и я хотел бы также создать консольное приложение с C # для передачи URL-адресов в службу WCF, которую я также создал.
Приложение WCF сократит URL-адрес для этого URI;
http://example.com/shorten/http://exaple.com
, поэтому я хочу именно это.
Мой файл консоли exe будетсидеть внутри папки c:\dev
и в командной строке Windows, я хотел бы сделать это;
c: \ dev> myapp -throw http://example.com
сэтот метод я хотел бы поговорить с этим сервисом.в разговорной части нет проблем.Но проблема в том, как я могу указать эту вещь -throw в командной строке, получить ответ, поместить этот ответ в командную строку и предоставить метод для его копирования в буфер обмена.,Я спрашиваю слишком много здесь?: СИ не знаю.
Не могли бы вы указать мне, где я могу найти информацию об этом, или вы можете дать мне пример кода этого?
Спасибо.
РЕДАКТИРОВАТЬ: Я попробовал следующий код;
class Program {
static void Main(string[] args) {
if (args[0] == "-throw") {
System.Windows.Forms.Clipboard.SetDataObject(args[1]);
Console.WriteLine(args[1] + " has been added to clipboard !");
Console.ReadLine();
}
}
}
и получил следующую ошибку:
C: \ Apps \ ArgsTry \ ArgsTry \ bin \ Debug> ArgsTry -throwman
Необработанное Исключение: System.Threading.ThreadStateException: Текущий поток должен быть переведен в однопотоковый режим (STA), прежде чем будут выполняться вызовы OLE.Убедитесь, что ваша функция Main помечена атрибутом STAThreadAttribute.в System.Windows.Forms.Clipboard.SetDataObject (данные объекта, логическое копирование, в ret32Times, Int32 retryDelay) в System.Windows.Forms.Clipboard.SetDataObject (данные объекта) в ArgsTry.Program.Main (String [] args)в c: \ apps \ ArgsTry \ ArgsTry \ Program.cs: строка 14
C: \ Apps \ ArgsTry \ ArgsTry \ bin \ Debug>