Skip to main content

Windows Azure Instance - Remote Access Problems

La orice instanta din Windows Azure, un user se poate conecta remote ca si pe orice alta masina. Acesta are acces la orice fel de resurse din sistemul de operate incepand de la task manager la event logs sau la Windows Services.
Pentru a ne putea conecta remote la instanta unui rol este nevoie ca de portalul Windows Azure sa selectam instanta la care vrem sa ne conectam, iar apoi din meniul de sus sa apasam butonul "Connect". Browser-ul o sa faca download la un fisier cu extensia .rdp, care se foloseste pentru conextiune remote. Odata rulat acest fisier, totul o sa decurga normal, o sa fie nevoie sa introduceti credentialele si gata, sunteti conectat remote in Cloud.
Pana aici nu o sa aveti nici o problema, totul o sa mearga ca uns. Insa in unele cazuri o sa va treziti ca instanta pe care o aveti nu poate sa fie gasita, orice ati face. Cand incercati sa dati conect, aplicatia sta cateva secunde iar apoi primiti o eroare de genul:
The specified user name does not exist. Verify the username and try logging in again. If the problem continues, contact your system administrator or technical support.
Desi rolul functioneaza, la fel si instantele pe care le aveti, totul este in regula. Acest lucru apare uneori dupa 2-3 zice ce ati folosit fara problema remote conenction-ul pe cloud. O solutie simpla pe care am gasito la aceasta problema este sa deschideti cu un editor text fisierul .rdp si sa inlocuiti friendly name-ul (DNS name) pe care il aveti pe prima linie cu IP-ul instantei.
Before:
full address:s: myApp.cloudApp.net
After:
full address:s: 123.123.123.123
Am observat ca acest lucru se intampla dupa ce se schimba administratorul la o subscriptie (acest lucru se poate face doar la cerere si este facut direct de cei de la Windows Azure support) sau se fac modificari complexe.
Sper ca acuma functioneaza si la voi :-).

Comments

Popular posts from this blog

ADO.NET provider with invariant name 'System.Data.SqlClient' could not be loaded

Today blog post will be started with the following error when running DB tests on the CI machine:
threw exception: System.InvalidOperationException: The Entity Framework provider type 'System.Data.Entity.SqlServer.SqlProviderServices, EntityFramework.SqlServer' registered in the application config file for the ADO.NET provider with invariant name 'System.Data.SqlClient' could not be loaded. Make sure that the assembly-qualified name is used and that the assembly is available to the running application. See http://go.microsoft.com/fwlink/?LinkId=260882 for more information. at System.Data.Entity.Infrastructure.DependencyResolution.ProviderServicesFactory.GetInstance(String providerTypeName, String providerInvariantName) This error happened only on the Continuous Integration machine. On the devs machines, everything has fine. The classic problem – on my machine it’s working. The CI has the following configuration:

TeamCity.NET 4.51EF 6.0.2VS2013
It seems that there …

Entity Framework (EF) TransactionScope vs Database.BeginTransaction

In today blog post we will talk a little about a new feature that is available on EF6+ related to Transactions.
Until now, when we had to use transaction we used ‘TransactionScope’. It works great and I would say that is something that is now in our blood.
using (var scope = new TransactionScope(TransactionScopeOption.Required)) { using (SqlConnection conn = new SqlConnection("...")) { conn.Open(); SqlCommand sqlCommand = new SqlCommand(); sqlCommand.Connection = conn; sqlCommand.CommandText = ... sqlCommand.ExecuteNonQuery(); ... } scope.Complete(); } Starting with EF6.0 we have a new way to work with transactions. The new approach is based on Database.BeginTransaction(), Database.Rollback(), Database.Commit(). Yes, no more TransactionScope.
In the followi…

GET call of REST API that contains '/'-slash character in the value of a parameter

Let’s assume that we have the following scenario: I have a public HTTP endpoint and I need to post some content using GET command. One of the parameters contains special characters like “\” and “/”. If the endpoint is an ApiController than you may have problems if you encode the parameter using the http encoder.
using (var httpClient = new HttpClient()) { httpClient.BaseAddress = baseUrl; Task<HttpResponseMessage> response = httpClient.GetAsync(string.Format("api/foo/{0}", "qwert/qwerqwer"))); response.Wait(); response.Result.EnsureSuccessStatusCode(); } One possible solution would be to encode the query parameter using UrlTokenEncode method of HttpServerUtility class and GetBytes method ofUTF8. In this way you would get the array of bytes of the parameter and encode them as a url token.
The following code show to you how you could write the encode and decode methods.
publ…