Ru-Board.club
← Вернуться в раздел «Прикладное программирование»

» Программирование в среде .NET (ASP.NET,ADO.NET) на C#/VB.NET

Автор: Good_man
Дата сообщения: 19.08.2004 21:04
Предлагаю организовать здесь тему по Си шарпу, замечательнейшему языку программированя, как я считаю, наиболее подходящему к идеалу ООП
Я же сам пишу в основном на ASP.NET с использованием C#
Готов ответить на вопросы.
Автор: void
Дата сообщения: 20.08.2004 11:04
Пишу сервис, в обработчике события onstart пытаюсь получить строку из конфига:

Цитата:
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<appSettings>
<add key="CheckingPath" value="c:\\upload" />
...


Достаю строку так:

Цитата:
string s = System.Configuration.ConfigurationSettings.AppSettings["CheckingPath"];

s почему-то остается пустой.
Что я делаю не так?


Добавлено
мда... конфиг оказывается зря переименовал. Надо было, чтобы он в проекте app.config назывался, тогда все нормально работает.
Автор: Good_man
Дата сообщения: 20.08.2004 20:02
А я-то навострился отвечать...
Сижу, экзампл даже сделал, все работает... ))
Автор: WiLd
Дата сообщения: 01.09.2004 18:47
отлично, что появился этот топик, ибо я тоже ценитель .NET и С#

неделю назад занялся приложухой на ASP.NET (до этого под IE не писал).
Грубо говоря есть веб-формы и БД на SQL. (Все это должно работать в корп. сетке. Аутентификация виндовая). Локально все работает. Решил проверить работоспособность веб-сервера с других компов - иногда отваливается соединение с БД и в логи пишется нечто вроде: login failed for user DOMAIN\USER и еще что то про ConnectionPool.

Вопрос такой: как вообще правильно вешать коннекшион к БД, если ConnectionString всегда один и тот же?

Заранее спасибо за ответ!

З.Ы. вешать на каждую форму по SQLConnection или где-нибудь в global.asax или SQLComponent навечно прописать его один раз?


Автор: mxm1975
Дата сообщения: 01.09.2004 19:34
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpguide/html/cpconconnectionpoolingforsqlservernetdataprovider.asp

"в логи пишется"... "еще что то " что пишется-то?

Метод Close у ...Connection нужно вызывать насколько возможно раньше.
Автор: WiLd
Дата сообщения: 01.09.2004 19:44
System.Data.SqlClient.SqlException: Login failed for user 'AVRO_BUSINESS\IvanovAA'.
at System.Data.SqlClient.ConnectionPool.GetConnection(Boolean& isInTransaction).....
про Close() все ясно.
есть например 2 SQLConnection с одинаковыми ConnectionString (на 2 разные формы)
Из одной формы работает, из другой нет!

Добавлено
кста, спасибы за ссылу...хотя все тоже самое я нашел у себя в MSDN'e

если не хватает информации - могу постануть код, но боюсь что не в нем дело. скорее глючит win или vsnet
Автор: mxm1975
Дата сообщения: 03.09.2004 14:17
WiLd

Цитата:
если не хватает информации - могу постануть код


давай код




Цитата:
скорее глючит win или vsnet


ага-ага, как-же...
Автор: WiLd
Дата сообщения: 03.09.2004 16:55
фух...разобрался наконец-таки
объявил SqlConnection в global.asax, прописал в app.config ConnectiobString, скомпилил Realease проекта и заработало!

З.Ы. подозреваю что когда проект скомпилен в режиме DEBUG есть проблемы, когда стучишься к веб-серверу с "левых" компов сети.

З.З.Ы. получилось, что нафлудил я ))
Автор: WiLd
Дата сообщения: 06.09.2004 12:59
рано я порадовался...
сделал проект установки - поставил на сервер. Со своей машины все работает, а когда с любого другого компа сети пытаюсь войти по http://server/application/ в окне эксплорера появляется окно с запросом логина и пароля! какие бы уч. записи не вводил (даже свою) - пишет HTTP server error (500). Описания к ентому эррору нету.

Может бы ть у кого-нить было уже такое?


P.S. WinAuth стоит на SQl, в настройках вирт каталога IIS и в web.config


Автор: mxm1975
Дата сообщения: 07.09.2004 10:15
WiLd

Цитата:
сделал проект установки

что это значит? создал инсталляцию?



Цитата:
Со своей машины все работает

т.е. на машине разработчика приложение работает? или при запросах на рабочий сервер с машины разработчика всё работает?


Цитата:
пишет HTTP server error (500). Описания к ентому эррору

см., например, MSDN:

Цитата:
Equivalent to HTTP status 500. InternalServerError indicates that a generic error has occurred on the server.

http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpref/html/frlrfsystemnethttpstatuscodeclasstopic.asp


Цитата:
WinAuth стоит на SQl, в настройках вирт каталога IIS и в web.config

а ConnectionString на сервере правильный? Логин+пароль, или от имени ASPNET к SQL серверу идет обращение?
Автор: WiLd
Дата сообщения: 07.09.2004 11:33

Цитата:
что это значит? создал инсталляцию?

Угу. файл msi
Цитата:


т.е. на машине разработчика приложение работает? или при запросах на рабочий сервер с машины разработчика всё работает?

второй вариант



Цитата:
а ConnectionString на сервере правильный? Логин+пароль, или от имени ASPNET к SQL серверу идет обращение?

ConnectionString правильный, иначе бы от меня не работало. Обращение от имени ASP.NET естесственно, т.к. в webconfig прописано Authentification = Windows

в MSDN'e инфа скудная. Вопрос не решен.

Автор: mxm1975
Дата сообщения: 07.09.2004 13:42
странно.
попробуй на машине разработчика зайти другой учетной записью и обратись к серверу.
еще раз внимательно посмотри настройки приложения в панели управления IIS
Автор: bigsmaleman
Дата сообщения: 07.09.2004 16:49
Люди, хочу изучить C# с нуля (т.е. раньше никогда и ни на чём), что посоветуете???

З.Ы. А ещё и с англиским у меня туго!!!
Автор: rew
Дата сообщения: 07.09.2004 22:34

Цитата:
в окне эксплорера появляется окно с запросом логина и пароля! какие бы уч. записи не вводил (даже свою) - пишет HTTP server error (500). Описания к ентому эррору нету.

в iis посмотри настройки секьюрити у директории, для доступа к бд, в мсскл сервер 2000 в самой бд нужно разрешить доступ для юзера computer_name\aspnet. чтоб печатало ошибку, в интернет опшинсах отмени show friendly HTTP error messages, в web.config исправь <customErrors mode="Off" или "RemoteOnly"
вроде все
Автор: dotBY
Дата сообщения: 08.09.2004 11:49
bigsmaleman
мля, неужели трудно отфильтровать темы по С# и полистать. ты далеко не первый с таким вопросом. и вообще надо вынести в непотопляемые темы подобное - "как изучить бла-бла-бла". надоело флуд читать. а уж тем более флудить в ответ. модераторам вопрос на рассмотрение!
Автор: WiLd
Дата сообщения: 10.09.2004 10:35
ёёёёёёёёёёпт.
ну я баран!!!!
Ошибка оказалась в самом адресе......всего в одну букву...
естесственно один раз неправильно набрал, а следующие автозаполнением делал - поэтому и не подозревал, что дело в адресе...
Всем спасибо!
Сейчас уже все работает и даже показано заказчику

Добавлено
на самом деле, как всегда виноват дядя Билли
почему-то в IIS при неправильном наборе адреса не предусмотрена генерация ошибки типа: "вы ввели несуществующий адрес и т.п." Вместо этого спрашиваются учетные данные после ввода которых по любому генерится бесполезное http error 500
Автор: Good_man
Дата сообщения: 15.09.2004 11:51
Всем привет! Толко что приехал из отпуска.
500 ошибка генерируется когда пытаешься получить доступ к фолдеру, к которому у инетюзера или удаленного юзера нет прав. В противном случае генерируется 404.
Еще 00 ошибка часто встречается, когда у юзера нет доступа на Remote Access (а по умолчанию его нет даже у админа). Я с этим сталкивался, когда делал ФТП через ИИС. Решение - запихнуть пользователя в группу "операторы сетевой печати",например.
Только не вздумайте инетюзера туда запихивать! )))
Автор: rew
Дата сообщения: 15.09.2004 13:20
500я ошибка, это не только аксцесс денаед, но и любая другая серверная ошибка она так и называется "internal server error"
Автор: void
Дата сообщения: 16.12.2004 17:41
И снова об app.config'е. Как можно перечитать его с диска не перезапуская приложение?
Если получать значения с помощью ConfigurationSettings.AppSettings[<key>], то берется значение, которое ключ имел при запуске приложения.
Можно ли как-то получить новые значения? Использовать свой файл не хочу, хочу следовать стандартам.
Автор: Zimagor
Дата сообщения: 17.12.2004 03:42
void
Видимо, никак, если не читать его как обычный xml файл. А зачем это надо? Чтобы можно было изменить config во время работы программы и она отреагировала на изменения?
Автор: void
Дата сообщения: 17.12.2004 12:16
Zimagor

Цитата:
А зачем это надо? Чтобы можно было изменить config во время работы программы и она отреагировала на изменения?

Да, это сервис, и не хотелось бы его перезапускать для применения изменений.
Автор: Vsevolod
Дата сообщения: 18.12.2004 18:10
у меня 2 вопроса по C#
1. что надо прописать, чтобы одна форма видела другую. В Си это было include unit.cpp, но здесь такое не прокатывает.
2. Как сделать drag и drop. Рисем окошко (ну кнопку для примера), наводим на неё мышку, кликаем и потащили.
Автор: TbIrbIDbIM
Дата сообщения: 19.12.2004 13:24
bigsmaleman
Клаус Микелсен "Язык программирования C#" - для новичка то что надо.
Автор: GeniusUA
Дата сообщения: 20.12.2004 00:33
Vsevolod
1.
using <нужный неймспейс>

а если тебе надо обращаться к текущей копии нужного окна, то при его создании (например в конструкторе) пиши:
staticThis = this;
в описании:
static public frmMyForm staticThis;

обращение (ex.):
<нужный неймспейс>.frmMyForm.staticThis.Text = "новый заголовок";
2.
смотри события DragEnter -> DragOver -> DragDrop
в общем все что касается Drag*
Автор: Vsevolod
Дата сообщения: 23.12.2004 21:18
Вопрос может и не совсем в ему, но стоит ли начинать писать программы на c# для широкого круга или время ещё не пришло?
Ведь библиотеки не у всех стоят и когда будут стоять не известно, но может уже стоит начать и тогда народ постепенно сам поставит библиотеки?
Автор: TbIrbIDbIM
Дата сообщения: 23.12.2004 23:36
Vsevolod
Время пришло давно, кому надо тот библиотеки поставит.
Автор: Zimagor
Дата сообщения: 24.12.2004 11:05
Vsevolod

Цитата:
Ведь библиотеки не у всех стоят и когда будут стоять не известно

Известно У всех, кто сидит под виндой - с выходом лонгхорна
А вообще, смотря что ты имеешь в виду под словом "программы". Если клиентские приложения, то есть обычные десктопные аппликации - то они при развертывании обычно сами ставят библиотеки, точнее .NET Framework, ежели таковой не обнаружится на компе. А что каcается веб-приложений и веб-сервисов - все-таки это основная часть дотнета - дык они работают на серверах под управлением Windows, где фреймворк уже стоит.
Короче,


Цитата:
Время пришло давно



Автор: Vsevolod
Дата сообщения: 26.12.2004 22:33
GeniusUA
Нифига не выходит. Давай в простейшем примере, создаём на форме 1 кнопку и создайм форму 2. Цель: По нажатии кнопки, чтобы появилась форма 2. О форме 2 судя по тому, что предлогает варианты, вроде знает, но вот как её открыть?

Добавлено
кажеться получилось прочитав http://builder.com.com/5100-6373-1050650.html
Form2 form2 = new Form2();
form2.ShowDialog();
но нифига не понял всё-равно.
В особенности, а как же, если можно, просто через using (хотя а надо ли,Ю когда и так в 2 строчки уже открывает :/ )


И можно примерчик с Drag
Автор: Zimagor
Дата сообщения: 27.12.2004 10:59
Vsevolod

Цитата:
но нифига не понял всё-равно.

Я бы советовал почитать литературу или документацию по C#, потом по Windows Forms. В сети масса инфы, ну например вот здесь. Книг много хороших

Цитата:
В особенности, а как же, если можно, просто через using (хотя а надо ли,Ю когда и так в 2 строчки уже открывает :/ )

Честно говоря, не понял вопроса. При чем тут using? using упрощает обращение к другим пространствам имен. Например:

namespace Vsevolod
{
class A
{
}
}

namespace Zimagor
{
Вот так я буду отсюда вынужден юзать полное имя класса A: Vsevolod.A
}

-------------------

using Vsevolod;

namespace Zimagor
{
А вот так могу просто A
}

Так что ты не понял в формах?


Цитата:
И можно примерчик с Drag


Например http://msdn.microsoft.com/library/rus/default.asp?url=/library/rus/cpref/html/frlrfsystemwindowsformscontrolclassallowdroptopic.asp
Вообще, есть же MSDN, а в ней есть поиск, а уж примеров там навалом
Автор: GeniusUA
Дата сообщения: 29.12.2004 10:42
Vsevolod
:) я думал ты имел ввиду статический доступ к загруженной копии формы
а если так, то наверное РТФМ МСДН...
либо вот короткий примерчик:

using System;
using System.Windows.Forms;
namespace a
{
class b : Form
{
...
}

class c :Form
{
public c()
{
this.Load += new EventHanlder(myload);
}
...
private void myload(object sender, EventArgs e)
{
b myb = new b();
b.ShowDialog();
}
...
}
}

Страницы: 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102

Предыдущая тема: Как удалить/добавить/отключить/включить устройство?


Форум Ru-Board.club — поднят 15-09-2016 числа. Цель - сохранить наследие старого Ru-Board, истории становления российского интернета. Сделано для людей.