BC30188:预期宣言;新的NetworkCredential VB.NET

问题描述 投票:0回答:1

经过多年的一点编程(经典ASP 12年),我开始做更多的编程,结果我自学了.net。

我正在尝试使用UrbanAirship的API通过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

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  

任何帮助将不胜感激。非常感谢您花时间去了解一下。

asp.net vb.net apple-push-notifications urbanairship.com
1个回答
2
投票

嗯......答案很简单。在方法之外,只允许声明。您需要在您的类中创建一个方法,该方法可以从您那里调用,或者例如页面加载事件。

具有暗淡和新的行被接受为声明,Public Const也是声明。

req.Credentials = New NetworkCredential("username", "password")是代码中的第一行,它不是声明,而是赋值,因此它会显示在错误窗口中。

© www.soinside.com 2019 - 2024. All rights reserved.