Check alle échte Black Friday-deals Ook zo moe van nepaanbiedingen? Wij laten alleen échte deals zien

[C#->VB] Conversie van C# naar VB probleem

Pagina: 1
Acties:

  • Swerfer
  • Registratie: Mei 2003
  • Laatst online: 19-11 21:48
Hoe converteer ik (in een web api) [RequireHttps] (regel 3) in de volgende code naar VB?

C#:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
public class ValuesController : ApiController
{
    [RequireHttps]
    public HttpResponseMessage Get() { ... }
}

public class RequireHttpsAttribute : AuthorizationFilterAttribute
{
    public override void OnAuthorization(HttpActionContext actionContext)
    {
        if (actionContext.Request.RequestUri.Scheme != Uri.UriSchemeHttps)
        {
            actionContext.Response = new HttpResponseMessage(System.Net.HttpStatusCode.Forbidden)
            {
                ReasonPhrase = "HTTPS Required"
            };
        }
        else
        {
            base.OnAuthorization(actionContext);
        }
    }
}


De class RequireHttps heb ik al geconverteerd maar ik kan nergens vinden hoe ik [RequireHttps] omzet naar VB.

Visual Basic .NET:
1
2
3
4
5
6
7
8
9
10
11
12
Public Class RequireHttpsAttribute
    Inherits AuthorizationFilterAttribute
    Public Overrides Sub OnAuthorization(actionContext As HttpActionContext)
        If actionContext.Request.RequestUri.Scheme <> Uri.UriSchemeHttps Then
            actionContext.Response = New HttpResponseMessage(System.Net.HttpStatusCode.Forbidden) With { _
                 .ReasonPhrase = "HTTPS Required" _
            }
        Else
            MyBase.OnAuthorization(actionContext)
        End If
    End Sub
End Class


Ik heb het volgende geprobeerd:

- Gewoon [RequireHttps] gebruiken.
- Implements RequireHttps
- <RequireHttps>

Alleen de Implements RequireHttps geeft geen foutmelding, maar verder merk ik niet dat de class RequireHttps wordt gebruikt. (Ik krijg geen Forbidden als ik de web api met http aanroep ipv https)

Home Assistant | Unifi | LG 51MR.U44 | Volvo EX30 SMER+ Vapour Grey, trekhaak | SmartEVSE V3 | Cronos Crypto.com


  • F.West98
  • Registratie: Juni 2009
  • Laatst online: 03:57

F.West98

Alweer 16 jaar hier

2x Dell UP2716D | R9 7950X | 128GB RAM | 980 Pro 2TB x2 | RTX2070 Super
.oisyn: Windows is net zo slecht in commandline als Linux in GUI


  • Swerfer
  • Registratie: Mei 2003
  • Laatst online: 19-11 21:48
Thanks, nog wel een _ toevoegen. Dus:

Visual Basic .NET:
1
2
3
4
5
6
7
Public Class MyController
  Inherits ApiController

 <RequireHttps()> _
 Public Function Get() as HttpResponseMessage
    ....
 End Function

Home Assistant | Unifi | LG 51MR.U44 | Volvo EX30 SMER+ Vapour Grey, trekhaak | SmartEVSE V3 | Cronos Crypto.com


  • Styxxy
  • Registratie: Augustus 2009
  • Laatst online: 10:21
Swerfer schreef op woensdag 09 juli 2014 @ 19:52:
[...]
Thanks, nog wel een _ toevoegen.
Hoeft niet per se hoor (toch al zeker vanaf VS2010).

  • Swerfer
  • Registratie: Mei 2003
  • Laatst online: 19-11 21:48
Styxxy schreef op woensdag 09 juli 2014 @ 20:54:
[...]

Hoeft niet per se hoor (toch al zeker vanaf VS2010).
VS2013 gaf een foutmelding zonder _

Home Assistant | Unifi | LG 51MR.U44 | Volvo EX30 SMER+ Vapour Grey, trekhaak | SmartEVSE V3 | Cronos Crypto.com


  • Lethalis
  • Registratie: April 2002
  • Niet online
Ik ben op mijn werk juist bezig VB.NET code stukje bij beetje naar C# te converteren :P

Sowieso doe ik nieuwe projecten zoveel mogelijk in C#.

Vroeger was het beleid "we doen alles in VB", maar omdat we een hoop andere technieken ook al in andere talen doen (veel JavaScript, zeker bij webprojecten) is er geen echte reden meer om aan VB vast te houden.

Ask yourself if you are happy and then you cease to be.


  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

(overleden)
_ is in VB.Net gewoon de Line Continuation character. De documentatie zegt:
In Visual Basic, the attribute is surrounded by angle brackets and must be on the same logical line; the line continuation character can be used if a line break is desired.

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Je eigen tweaker.me redirect

Over mij


  • ZaZ
  • Registratie: Oktober 2002
  • Laatst online: 20-11 12:36

ZaZ

Tweakers abonnee

Is niet meer altijd nodig. Ik moest laatst weer wat doen in VB.NET en toen kon ik, waar ik eerst _ moest gebruiken volgens mij, het nu zonder doen.
Ik kon gewoon zoiets typen:
code:
1
2
3
4
5
6
7
        dim something = New Foo With {
                                       .Name = "Bla"
                                       .Bar With { 
                                                        .Name = "Bla"
                                                        .Id = 999
                                                 }
                                     }


Ook met attributes hoefde ik geen underscore te gebruiken en multiline linq kon ik het ook weglaten

Lekker op de bank


  • Acid_Burn
  • Registratie: Augustus 2001
  • Laatst online: 02:58

Acid_Burn

uhuh

Achter die .Name is "Bla" moet nog wel een komma. Anders vind VS2013 het toch echt niet jofel.

Glass Eye Photography | Zelfbouw wireless fightstick | Mijn puzzel site


  • Styxxy
  • Registratie: Augustus 2009
  • Laatst online: 10:21
Swerfer schreef op donderdag 10 juli 2014 @ 07:06:
[...]
VS2013 gaf een foutmelding zonder _
Vreemd. Attributes bij mij hoeven geen "_" erachter te hebben, ook al staat de method op de volgende regel. Zie ook screenshot. Ach ja, ik kan er ook soms niet aan uit wanneer wel en niet VS een error geeft...

Afbeeldingslocatie: http://imgdump.nl/hosted/196c8403543942b38182dcaf24ba208e.png

  • EfBe
  • Registratie: Januari 2000
  • Niet online
als je .net 4.5 target dacht ik (of 4.0, maar ik denk 4.5) gebruikt hij een andere compiler die nieuwer is. Target je .net 4.0 of 3.5 dan gebruikt hij een oudere compiler die nog wel _ vereist.

Creator of: LLBLGen Pro | Camera mods for games
Photography portfolio: https://fransbouma.com


  • Styxxy
  • Registratie: Augustus 2009
  • Laatst online: 10:21
EfBe schreef op vrijdag 11 juli 2014 @ 09:19:
als je .net 4.5 target dacht ik (of 4.0, maar ik denk 4.5) gebruikt hij een andere compiler die nieuwer is. Target je .net 4.0 of 3.5 dan gebruikt hij een oudere compiler die nog wel _ vereist.
Wij gebruiken nog .NET 4.0, dus ik denk dat het vanaf die versie dan niet meer hoeft :).
Pagina: 1