BC30188: ожидается объявление; Новый NetworkCredential VB.NET - PullRequest
0 голосов
/ 09 ноября 2011

После нескольких лет небольшого программирования (классический ASP в течение 12 лет) я начинаю заниматься гораздо большим программированием, и в результате я учу себя .net.

Я пытаюсь использовать API UrbanAirship для отправки тестового push-уведомления через сервер push-уведомлений Apple (APNS). Я нашел этот пример кода, но мне трудно его реализовать.

Я получаю сообщение об ошибке: BC30188: ожидается объявление. Вот код этой конкретной строки:

req.Credentials = New NetworkCredential("username", "password")

Вот весь мой код:

pushvb.aspx

<%@ Page Language="VB" AutoEventWireup="false" src="pushvb_bg.aspx.vb" Inherits="UrbanAirship.uacode" %>

<% Response.write(UrbanAirship.uacode.testing) %>

pushvb_bg.aspx.vb

</p> <pre><code>Imports System Imports System.Net Imports System.Text Imports System.IO Imports System.WinForms Namespace UrbanAirship public partial Class uacode Inherits System.Web.UI.Page Public Const testing As String = "testing..." Dim req As WebRequest = WebRequest.Create("https://go.urbanairship.com/api/push/") Dim postData As String = "{""aps"": {""badge"": ""+1"", ""alert"": ""pushvb"",""sound"": ""default"",""device_tokens"": ""token""}}" req.Credentials = New NetworkCredential("username", "password") req.Method = "POST" Dim byteArray As Byte() = Encoding.UTF8.GetBytes(postData) req.ContentType = "application/json" req.ContentLength = byteArray.Length Dim dataStream As Stream = req.GetRequestStream() dataStream.Write(byteArray, 0, byteArray.Length) dataStream.Close() Dim resp As WebResponse = req.GetResponse() dataStream = resp.GetResponseStream() Dim reader As New StreamReader(dataStream) Dim responseFromServer As String = reader.ReadToEnd() Console.WriteLine(responseFromServer) reader.Close() dataStream.Close() req.Close() end Class end Namespace

Любая помощь будет принята с благодарностью. Большое спасибо, что нашли время, чтобы посмотреть.

1 Ответ

2 голосов
/ 09 ноября 2011

Ну ... ответ довольно прост. Вне методов допускаются только объявления. Вам нужно создать метод в вашем классе, который будет вызываться от вас, или, например, Событие загрузки страницы.

Строки с dim и new принимаются как декларация, Public Const также является декларацией.

Строка req.Credentials = New NetworkCredential("username", "password") - это первая строка в коде, которая является не декларацией, а присваиванием, поэтому она отображается в вашем окне ошибок.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...