Ongeldige URI: het formaat van de URI kan niet worden bepaald

Ik krijg deze foutmelding.

Ongeldige URI: het formaat van de URI kan niet worden bepaald.

De code die ik heb is:

Uri uri = new Uri(slct.Text);
if (DeleteFileOnServer(uri))
{
    nn.BalloonTipText = slct.Text + " has been deleted.";
    nn.ShowBalloonTip(30);
}

Update: De inhoud in slict.Text is ftp.jt-software.net/style.css.

wat geeft? Hoe is dat geen geldig URI-formaat? Het is gewoon tekst.


Antwoord 1, Autoriteit 100%

Het kan helpen om een ​​andere constructeur voor URI te gebruiken.

Als u de servernaam

hebt

string server = "http://www.myserver.com";

en heb een relatieve uri-pad om eraan toe te voegen, b.g

string relativePath = "sites/files/images/picture.png"

Bij het maken van een URI van deze twee krijg ik het “formaat niet kan worden bepaald”, tenzij ik de constructeur gebruik met het urikind-argument, d.w.z.

// this works, because the protocol is included in the string
Uri serverUri = new Uri(server);
// needs UriKind arg, or UriFormatException is thrown
Uri relativeUri = new Uri(relativePath, UriKind.Relative); 
// Uri(Uri, Uri) is the preferred constructor in this case
Uri fullUri = new Uri(serverUri, relativeUri);

Antwoord 2, Autoriteit 44%

Bekijk hier mogelijke redenen: http: // MSDN.Microsoft.com/en-us/Library/z6c2z492(v=vs.100).aspx

BEWERKEN:

U moet het protocolvoorvoegsel voor het adres plaatsen, d.w.z. in uw geval “ftp://”


Antwoord 3, autoriteit 10%

Het klinkt alsof het een reële uri is. Ik kwam dit probleem tegen toen ik Silverlight in meerdere browsers deed; op mijn blogheb ik een tijdelijke oplossing genoemd: geef een “context” door uri als de eerste parameter.

Als de uri realtief is, wordt de context-uri gebruikt om een volledige uri te maken. Als de uri absoluut is, wordt de context-uri genegeerd.

EDIT:je hebt een “schema” nodig in de uri, bijvoorbeeld “ftp://” of “http://”


Antwoord 4, autoriteit 10%

Beter gebruik Uri.IsWellFormedUriString(string uriString, UriKind uriKind). http://msdn.microsoft.com/en-us/library/system.uri. iswellformeduristring.aspx

Voorbeeld:-

if(Uri.IsWellFormedUriString(slct.Text,UriKind.Absolute))
 {
        Uri uri = new Uri(slct.Text);
        if (DeleteFileOnServer(uri))
        {
          nn.BalloonTipText = slct.Text + " has been deleted.";
          nn.ShowBalloonTip(30);
        }
 }

Antwoord 5, autoriteit 7%

Ik heb dit omzeild door UriBuilder te gebruiken in plaats daarvan.

UriBuilder builder = new UriBuilder(slct.Text);
if (DeleteFileOnServer(builder.Uri))
{
   ...
}

Antwoord 6, autoriteit 2%

Het probleem voor mij was dat toen ik een domeinnaam kreeg, ik het volgende had:

cloudsearch-..-..-xxx.aws.cloudsearch… [WRONG]

http://cloudsearch-..-..-xxx.aws.cloudsearch [RIGHT]

ik hoop dat dit het werk voor je doet 🙂


Antwoord 7

Ik kreeg een dergelijke foutopsporingsfout terwijl ik Docker probeerde in te stellen.

Ik heb de docker-instelling in “launchSettings.json” als volgt ingesteld.

Probleem is opgelost.

"Docker":
{
    "commandName": "Docker",
    "launchBrowser": true,
    "launchUrl": "{Scheme}://{ServiceHost}:{ServicePort}/",
    "publishAllPorts": false,
    "useSSL": true
}

Antwoord 8

Controleer of het XML-commentaarbestand bestaat of niet als u SwaggerDoc inschakelt voor de app.

Other episodes