0

Web サービスが、WS を呼び出すたびにリセットせずに、送信したものを文字列として保存できるかどうか疑問に思っていましたか?

<WebMethod()> _
Public Function sendLCDBrightnessLevel(ByRef command As String) As String
    'This reads a number for the LCD brightness level and store it
    'The phone will call this function every 5 minutes to see what the value is
    'android phone->WS
    Dim lcdLevel As String = ""

    If command <> "READ" Then
        lcdLevel = command
        Return "Stored: " & lcdLevel
    Else
        Return lcdLevel
    End If
End Function

アプリがチェックするだけの場合、 lcdLevelはコマンドの値を保持します?

例:

コマンドに対して30を送信しましたが、 READではないため、 lcdLevelに格納されます。Androidフォンが「5分ごと」のチェックに慣れたら、 30と表示されますか、それとも何も表示されませんか?

毎回関数呼び出しの開始時からDim lcdLevel As String = ""を関数の外に移動する必要があると考えていますか? 値を保存しておくために関数の外に配置する必要がありますか、それとも他に何かする必要がありますか?

ありがとう!

4

1 に答える 1

0
<WebMethod()> _
Public Function sendLCDBrightnessLevel(ByRef command As String) As String
    'This reads a number for the LCD brightness level and store it
    'The phone will call this function every 5 minutes to see what the value is
    'android phone->WS
    Dim lcdLevel As String = ""
    Dim path As String = "c:\temp\lcdValue.txt"

    If command <> "READ" Then
        lcdLevel = command
        Dim objWriter As New System.IO.StreamWriter(path, False, Encoding.UTF8)

        objWriter.WriteLine(lcdLevel)
        objWriter.Close()

        Return "Stored: " & lcdLevel
    Else
        Dim objReader As New System.IO.StreamReader(path, Encoding.UTF8)

        lcdLevel = objReader.ReadToEnd
        objReader.Close()

        Return lcdLevel
    End If
End Function

これが WS に値を簡単に格納する唯一の方法だと思いますか? 私もそれを必要としていたのでうまくいくようです。

于 2013-04-21T19:27:26.377 に答える