WedX - журнал о программировании и компьютерных науках

C # WebService не работает в IIS на облачном сервере

У меня возникла проблема с загрузкой WebService в IIS на моем облачном сервере этой WebService, чтобы проверить имя пользователя и пароль в базе данных sql server и вернуть True или False в XML.

Код WebService:

public Result Login(string userName, string userPass)
    {
        SqlConnection conn = new SqlConnection(new DBConnection().ConnectionString);

        Result result = new Result();

        try
        {
            SqlCommand cmd = new SqlCommand("select username,password from users where username = @username and password = @password");
            cmd.Parameters.AddWithValue("username", userName);
            cmd.Parameters.AddWithValue("password", userPass);
            cmd.Connection = conn;

            if (conn.State == System.Data.ConnectionState.Closed)
                conn.Open();
                SqlDataReader dr = cmd.ExecuteReader();

            if (dr.HasRows)
            {
                result.ValidUser = true;
                return result;
            }
            else
                result.ValidUser = false;


        }

        catch (Exception ex)
        {
            result.Error = ex.ToString();
        }

        finally
        {
            conn.Close();

        }

        return result;
    }
-----------------------------------------------------------

Строка подключения:

public string ConnectionString
    {
        get
        {
            return "Data Source=localhost;Integrated Security=True;Initial Catalog=test";

        }
    }

и я заменяю локальный хост своим общедоступным IP-адресом моего сервера, но не работаю

это сообщение об ошибке появляется при выполнении

Ошибка :

<Error>

Помогите, пожалуйста


Не для того, чтобы констатировать очевидное, но если вы получите сообщение выше, в котором говорится


Ответы:


1

«Сервер не найден или недоступен. Убедитесь, что имя экземпляра правильное и что SQL Server настроен на разрешение удаленных подключений»

Первое, что вам стоит проверить:

Для первых двух пунктов вы можете попробовать этот тип строки подключения

  1. Имя экземпляра базы данных
  2. Конфигурация вашего SQL Server
  3. Это просто способ указать, что вы используете TCP / IP; это литерал, поэтому он исправлен, и вы можете просто скопировать его сверху

Для последнего пункта перейдите по этой ссылке.

Data Source=190.190.200.100,1433;Network Library=DBMSSOCN;Initial Catalog=myDataBase;User ID=myUsername;Password=myPassword;

Конфигурация удаленного подключения

Адрес сервера

24.09.2017
  • Не могли бы вы добавить больше деталей? Вы поймали какое-то исключение? Если да, то какое сообщение в нем содержалось? 25.09.2017
  • System.Data.SqlClient.SqlException (0x80131904): при установке соединения с SQL Server произошла ошибка, связанная с сетью или конкретным экземпляром. Сервер не найден или не был доступен. Убедитесь, что имя экземпляра правильное и что SQL Server настроен на разрешение удаленных подключений. (поставщик: поставщик именованных каналов, ошибка: 40 - не удалось открыть соединение с SQL Server) ---> System.ComponentModel.Win32Exception (0x80004005): система не может найти файл, указанный в System.Data.SqlClient.SqlInternalConnectionTds .. CTOR (DbConnectionPoolIdentity идентичность, SqlConnectionString connectionOptions, SqlCredential учетных данных, объект providerInfo, String новый_пароль, SecureString newSecurePassword, булева redirectedUserInstance, SqlConnectionString userConnectionOptions, SessionData reconnectSessionData, DbConnectionPool бассейн, String маркер доступа, логическое applyTransientFaultHandling) при System.Data.SqlClient.SqlConnectionFactory.CreateConnection (DbConnectionOptions options, DbConnectionPoolKey poolKey, Object poolGroupProviderInfo, DbConnectionPool pool, DbConnection owningConnection, DbConnectionOptions userOptions) в System.Data.ProviderBase. tionPoolKey poolKey, DbConnectionOptions userOptions) в System.Data.ProviderBase.DbConnectionPool.CreateObject (DbConnection owningObject, DbConnectionOptions userOptions, DbConnectionInternal oldConnection) в System.Data. .ProviderBase.DbConnectionPool.TryGetConnection (DbConnection owningObject, UInt32 waitForMultipleObjectsTimeout, булева allowCreate, булева onlyOneCheckConnection, DbConnectionOptions userOptions, DbConnectionInternal & соединение) System.Data.ProviderBase.DbConnectionPool.TryGetConnection (DbConnection owningObject, TaskCompletionSource_4_1 повторить попытку, DbConnectionOptions userOptions, DbConnectionInternal oldConnection, DbConnectionInternal & соединение ) в System.Data.ProviderBase.DbConnectionInternal.TryOpenConnectionInternal (DbConnection outerConnection, DbConnectionFactory connectionFactory, TaskCompletionSour ce_5_1 retry) в System.Data.SqlClient.SqlConnection.TryOpen (повторная попытка TaskCompletionSource`1) в System.Data.SqlClient.SqlConnection.Open () в WebApplication.WebService.Login (String userName, String userPass) ClientConnectionId: 00000000-0000- 0000-0000-000000000000 Номер ошибки: 2, состояние: 0, класс: 20 25.09.2017
  • Новые материалы

    Как проанализировать работу вашего классификатора?
    Не всегда просто знать, какие показатели использовать С развитием глубокого обучения все больше и больше людей учатся обучать свой первый классификатор. Но как только вы закончите..

    Работа с цепями Маркова, часть 4 (Машинное обучение)
    Нелинейные цепи Маркова с агрегатором и их приложения (arXiv) Автор : Бар Лайт Аннотация: Изучаются свойства подкласса случайных процессов, называемых дискретными нелинейными цепями Маркова..

    Crazy Laravel Livewire упростил мне создание электронной коммерции (панель администратора и API) [Часть 3]
    Как вы сегодня, ребята? В этой части мы создадим CRUD для данных о продукте. Думаю, в этой части я не буду слишком много делиться теорией, но чаще буду делиться своим кодом. Потому что..

    Использование машинного обучения и Python для классификации 1000 сезонов новичков MLB Hitter
    Чему может научиться машина, глядя на сезоны новичков 1000 игроков MLB? Это то, что исследует это приложение. В этом процессе мы будем использовать неконтролируемое обучение, чтобы..

    Учебные заметки: создание моего первого пакета Node.js
    Это мои обучающие заметки, когда я научился создавать свой самый первый пакет Node.js, распространяемый через npm. Оглавление Глоссарий I. Новый пакет 1.1 советы по инициализации..

    Забудьте о Matplotlib: улучшите визуализацию данных с помощью умопомрачительных функций Seaborn!
    Примечание. Эта запись в блоге предполагает базовое знакомство с Python и концепциями анализа данных. Привет, энтузиасты данных! Добро пожаловать в мой блог, где я расскажу о невероятных..

    ИИ в аэрокосмической отрасли
    Каждый полет – это шаг вперед к великой мечте. Чтобы это происходило в их собственном темпе, необходима команда астронавтов для погони за космосом и команда технического обслуживания..


    Для любых предложений по сайту: [email protected]