0

經過多年就在身邊做一個小程序(經典ASP 12年)的,我開始做更多的編程,並因此在自修.NET。BC30188:預期聲明;新的NetworkCredential VB.NET

我試圖使用UrbanAirship的API,可以通過蘋果的推送通知服務器(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 

任何幫助將不勝感激。非常感謝您花時間查看。

回答

2

嗯...答案很簡單。在方法之外,只允許聲明。你需要在你的Class中創建一個方法,這個方法會被你調用,或者是頁面加載事件。

線,朦朧而新被接受爲一個聲明,公共常量也是一種宣言。

req.Credentials = New NetworkCredential("username", "password")是這不是一個聲明的第一行代碼,而是一個任務,therfore它是在你的錯誤窗口顯示。

+0

感謝您的幫助!我調整了代碼,並從那裏開始工作。 –