2012-01-21 6 views
0

Просто простой код дерьма. Я смутился с синтаксисом, когда пытался выполнить этот код, нажав на кнопку, страница пытается загрузить, но не могла. Я попытался загрузить одну и ту же страницу на нескольких вкладках, и я получил сообщение об ошибке «Веб-сервер перестает работать»! Может ли кто-нибудь исправить синтаксис следующего простого кода?Сбой кода Cassini веб-сервер

string folderpath = @"C:\Users\Nouser\Documents\Visual Studio 2010\WebSites\folders"; 
    string foldername = TextBox1.Text; 
    string newPath = System.IO.Path.Combine(folderpath, foldername); 
    while (Directory.Exists(newPath)) 
    { 
     foldername = foldername + ik; 
     ik = ik + 1; 
    } 
    System.IO.Directory.CreateDirectory(newPath); 
+0

близко Visual Studio и попробуйте открыть снова – Shyju

+0

Я считаю, что его просто синтаксической ошибки в коде. –

+0

@Madcoder .: Я не вижу никакой синтаксической ошибки в этом коде. Если это была синтаксическая ошибка, я сомневаюсь, что она скомпилируется. Вы получаете ошибки времени компиляции? Вы получаете исключение во время выполнения? Какая ошибка? – David

ответ

1

Я думаю, что вы хотите что-то больше, как это:

int ik = 1; 
string folderpath = @"C:\Users\Nouser\Documents\Visual Studio 2010\WebSites\folders"; 
string foldername = TextBox1.Text; 
string newPath = System.IO.Path.Combine(folderpath, foldername); 
while (Directory.Exists(newPath)) 
{ 
    newPath = System.IO.Path.Combine(folderpath, foldername + ik); 
    ik = ik + 1; 
} 
System.IO.Directory.CreateDirectory(newPath); 
+0

Исправить! Спасибо за ваш код. –

3

Я уверен, что проверка Directory.Exists(newPath) только когда-либо оценки начального значения, установленного для NEWPATH, так вызывая бесконечный цикл.

Отлаживайте цикл, перейдя через и увидев, что newPath задано как на каждой итерации.

+0

Хороший улов. 'newPath' не изменяется в цикле, поэтому цикл будет работать бесконечно. (Или, по крайней мере, до переполнения 'foldername' или' ik'.) – David

+0

Нет! проблема заключается в 'While', когда я изменяю' While' на 'if', все работает нормально, но как я могу изменить имя папки? –

+1

Как я уже сказал, проверка внутри while() не работает, поскольку newPath никогда не изменяется. Вам нужно установить newPath на каждой итерации, в дополнение к тому, что вы уже делаете. – Digbyswift

Смежные вопросы