C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

ログ内検索
  • キーワードを複数指定する場合は 半角スペース で区切ってください。
  • 検索条件は、(AND)=[A かつ B] (OR)=[A または B] となっています。
  • [返信]をクリックすると返信ページへ移動します。
キーワード/ 検索条件 /
検索範囲/ 強調表示/ ON (自動リンクOFF)
結果表示件数/ 記事No検索/ ON
大文字と小文字を区別する

全過去ログを検索

<< 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 >>
■82437  Digest認証でのRequest Bodyが空になる
□投稿者/ じゃがりこサラダ -(2017/01/10(Tue) 18:29:05)

    分類:[VB.NET/VB2005 以降] 

    現在Windows10Mobileを利用したアプリを開発中です。
    Windows10MobileアプリではHttpClientクラスを利用する必要があると認識しており、
    環境の構成上、Digest認証後にPOSTリクエストを送信する必要があります。

    いくらかプログラムしてみましたがエラーとなっています。
    HTTPの内容を確認したところHTTPヘッダの「Content-Length」は正しく設定されていますが、
    肝心のHTTPボディにPOSTパラメータが設定されていません。

    以下にサンプルコードを記載させていただきますが、何か不備等はございませんでしょうか。
    お分かりになる範囲でご教授いただければ幸いです。


    Imports System.Net
    Imports System.Net.Http

    Public Class Class1
    Public Async Function registOrderInfo() As Task(Of String)

    Dim url As Uri = New Uri("http://test.com/test/testGet.cgi")
    Dim sysHandler As HttpClientHandler = New HttpClientHandler()
    sysHandler.Credentials = New NetworkCredential("testuser", "testpass") 'Digest認証用アカウント
    Dim client As HttpClient = New HttpClient(sysHandler)

    Try
    Dim param As List(Of KeyValuePair(Of String, String)) = New List(Of KeyValuePair(Of String, String))
    param.Add(New KeyValuePair(Of String, String)("test1", "aaa"))
    param.Add(New KeyValuePair(Of String, String)("test2", "bbb"))

    Dim content As HttpContent = New FormUrlEncodedContent(param)
    Dim response As HttpResponseMessage = Await client.PostAsync(url, content)

    Dim statusCode As HttpResponseMessage = response.EnsureSuccessStatusCode()
    Dim message As String = Await response.Content.ReadAsStringAsync()
    Catch ex As Exception
    httpResponseBody = "Error: " + ex.HResult.ToString("X") + " Message: " + ex.Message
    End Try

    Return ""
    End Function

    End Class

親記事 /過去ログ141より / 関連記事表示
削除チェック/

■82496  Re[1]: Digest認証でのRequest Bodyが空になる
□投稿者/ 魔界の仮面弁士 -(2017/01/11(Wed) 19:16:48)
    No82437 (じゃがりこサラダ さん) に返信
    > 環境の構成上、Digest認証後にPOSTリクエストを送信する必要があります。
    下記と同内容かな?
    http://ja.stackoverflow.com/questions/31746


    > 以下にサンプルコードを記載させていただきますが、
    手元に検証環境が無いので試していませんが、
     Dim cache As New System.Net.CredentialCache()
     cache.Add(url, "Digest", New NetworkCredential("testuser", "testpass"))
     sysHandler.Credentials = cache
    だとどうでしょか。


    > 何か不備等はございませんでしょうか。
    httpResponseBody が宣言されていないとか
    「""」以外を Return している箇所が無いとか
    受け取った statusCode や message が読み捨てられているとか
記事No.82437 のレス /過去ログ141より / 関連記事表示
削除チェック/

■82498  Re[2]: Digest認証でのRequest Bodyが空になる
□投稿者/ じゃがりこサラダ -(2017/01/11(Wed) 21:33:32)
    No82496 (魔界の仮面弁士 さん) に返信
    > ■No82437 (じゃがりこサラダ さん) に返信
    >>環境の構成上、Digest認証後にPOSTリクエストを送信する必要があります。
    > 下記と同内容かな?
    > http://ja.stackoverflow.com/questions/31746

    はい、同じになります。

    >>以下にサンプルコードを記載させていただきますが、
    > 手元に検証環境が無いので試していませんが、

    試させていただきましたが、同じ結果となりました。

    >>何か不備等はございませんでしょうか。
    > httpResponseBody が宣言されていないとか
    > 「""」以外を Return している箇所が無いとか
    > 受け取った statusCode や message が読み捨てられているとか

    今回の質問はhttpRequestBodyが空であるという問題となっております。
    今更ながら気がついて大変申し訳ございませんが、
    今回Digest認証を実施している関係上、2回アクセスします。

    1回目は当然、401で返ってくるのですが、その1回目のhttpRequestのBodyには
    POSTパラメータが設定されていますが、2回目のhttpRequestのBodyが空でRequestされていました。

    本事象において、何かお分かりになることはありますでしょうか。



記事No.82437 のレス /過去ログ141より / 関連記事表示
削除チェック/

■82499  Re[3]: Digest認証でのRequest Bodyが空になる
□投稿者/ Azulean -(2017/01/11(Wed) 22:13:10)
    No82498 (じゃがりこサラダ さん) に返信
    > 1回目は当然、401で返ってくるのですが、その1回目のhttpRequestのBodyには
    > POSTパラメータが設定されていますが、2回目のhttpRequestのBodyが空でRequestされていました。

    この部分がまったく同じようですし、 https://social.msdn.microsoft.com/Forums/ja-JP/4e0e9a4d-f594-4579-a7d6-4c0682d486c3/httpclientpost?forum=winstoreapp も同じなんですね。
    複数箇所でそれを示さずに並行させると、回答者側の労力が無駄になってしまうので、せめて並行している URL を載せてもらえれば…。
記事No.82437 のレス /過去ログ141より / 関連記事表示
削除チェック/

■82500  Re[4]: Digest認証でのRequest Bodyが空になる
□投稿者/ じゃがりこサラダ -(2017/01/11(Wed) 22:14:58)
記事No.82437 のレス /過去ログ141より / 関連記事表示
削除チェック/

■82501  Re[3]: Digest認証でのRequest Bodyが空になる
□投稿者/ 魔界の仮面弁士 -(2017/01/11(Wed) 23:26:01)
    No82498 (じゃがりこサラダ さん) に返信
    > 今回の質問はhttpRequestBodyが空であるという問題となっております。
    > 今更ながら気がついて大変申し訳ございませんが、
    > 今回Digest認証を実施している関係上、2回アクセスします。
    >
    > 1回目は当然、401で返ってくるのですが、その1回目のhttpRequestのBodyには
    > POSTパラメータが設定されていますが、2回目のhttpRequestのBodyが空でRequestされていました。


    2 回目の POST パラメーターが失われるのであれば、
    ひとまず、力技で送信できないでしょうか。

    まずは ICredentials 無しで呼び出して、1 回目の 401 レスポンスを受け取り、
    応答ヘッダの WWW-Authenticate を取り出してから、改めて
    要求ヘッダーに Authorization を含めて、2 回目のリクエストを POST してみるとか。
    出来るかどうかはわかりませんが…。

    http://x68000.q-e-d.net/~68user/net/http-auth-2.html
記事No.82437 のレス /過去ログ141より / 関連記事表示
削除チェック/

■82504  Re[4]: Digest認証でのRequest Bodyが空になる
□投稿者/ じゃがりこサラダ -(2017/01/12(Thu) 11:27:13)
    > 2 回目の POST パラメーターが失われるのであれば、
    > ひとまず、力技で送信できないでしょうか。
    >
    > まずは ICredentials 無しで呼び出して、1 回目の 401 レスポンスを受け取り、
    > 応答ヘッダの WWW-Authenticate を取り出してから、改めて
    > 要求ヘッダーに Authorization を含めて、2 回目のリクエストを POST してみるとか。
    > 出来るかどうかはわかりませんが…。
    >
    > http://x68000.q-e-d.net/~68user/net/http-auth-2.html

    かなり状況的には難しいということで理解いたしました。
    ご返信ありがとうございました。

記事No.82437 のレス /過去ログ141より / 関連記事表示
削除チェック/

■82505  Digest認証でのRequest Bodyが空になる
□投稿者/ じゃがりこサラダ -(2017/01/12(Thu) 11:28:16)
    2017/01/12(Thu) 12:51:20 編集(投稿者)

    マルチポストでご迷惑をおかけし申し訳ございませんでした。
    本サイトでの質問はクローズさせていただければと思います。

    ご返信いただき、ありがとうございました。
記事No.82437 のレス /過去ログ141より / 関連記事表示
削除チェック/

■82506  .NETFrameworkのVerについて 開発側 利用側
□投稿者/ XXX -(2017/01/12(Thu) 13:21:45)

    分類:[.NET 全般] 

    VB2008でプログラムを作成しているのですが、他のPCで.exeを起動させるとメッセージボックスが出て 「プログラムは動作を停止しました」と出てきました
    この原因は.NETFrameworkのバージョンが違う事によるものなのでしょうか?? 他に考えられるものがあればアドバイス等よろしくお願いします。

    OSはどちらもwindows7 で .NETFrameworkのVerは開発側も利用側も .net framework 4.6.1でした。 プログラムのコンパイルの詳細設定を確認すると.NET Framework3.5だったのですが、
    利用側で4.6.1を消して.NET Framework3.5を入れれば動作するのでしょうか??  開発側では問題なく動作してる様なのですが、.net framework 4.6.1を使うのは問題ないでしょうか? 
    回答よろしくお願いします。
親記事 /過去ログ141より / 関連記事表示
削除チェック/

■82507  Re[1]: .NETFrameworkのVerについて 開発側 利用側
□投稿者/ shu -(2017/01/12(Thu) 13:49:32)
    No82506 (XXX さん) に返信
    > OSはどちらもwindows7 で .NETFrameworkのVerは開発側も利用側も .net framework 4.6.1でした。 プログラムのコンパイルの詳細設定を確認すると.NET Framework3.5だったのですが、
    > 利用側で4.6.1を消して.NET Framework3.5を入れれば動作するのでしょうか??  開発側では問題なく動作してる様なのですが、.net framework 4.6.1を使うのは問題ないでしょうか? 
    4.6.1を消す必要はないですが、3.5をインストールする必要があります。
    VisualStudio2010以降のものを使用すれば4.0以降を選択することが出来き4.6.1であれば4.0〜4.6.1までのものは動作するのでインストール
    する必要はありません。
    2015 Communityが使える条件を満たしているのであれば移行してみるのもよいかもしれません。
記事No.82506 のレス /過去ログ141より / 関連記事表示
削除チェック/

■82514  Re[1]: .NETFrameworkのVerについて 開発側 利用側
□投稿者/ Azulean -(2017/01/12(Thu) 21:54:12)
    Windows 7 はデフォルトで .NET 3.5.1 が入っていますので意図的に無効化しない限りは普通に使えるはずです。
    それでも起動しないと言うことは、.NET 3.5.1 に含まれていないアセンブリを使用しているか、フォルダー位置や設定ファイルなど、自分の環境を前提としてしまった作り込みをしているかです。
    (.NET 2.0 〜 3.5 SP1 を対象にしている場合、4.0 〜 4.6.2 が入っている・入っていないは関係ありません)

    イベントログに例外の情報が残っていないか確かめてみてください。
記事No.82506 のレス /過去ログ141より / 関連記事表示
削除チェック/

■82518  Re[1]: .NETFrameworkのVerについて 開発側 利用側
□投稿者/ 魔界の仮面弁士 -(2017/01/13(Fri) 10:23:46)
    No82506 (XXX さん) に返信
    > VB2008でプログラムを作成しているのですが、
    (中略)
    > OSはどちらもwindows7 
    (中略)
    > .NETFrameworkのVerは開発側も利用側も .net framework 4.6.1でした。
    
    そもそも VB2008 で、.NET 4.6.1 向けのアプリは作れません。
    
    
    
    Windows 7 には、標準で .NET Framework 3.5.1 (3.5 SP1)が同梱されており、
    コントロールパネルの[Windows の機能の有効化または無効化]で導入できます。
    (最初から有効にしてある環境の方が多いかも…)
    
    これが有効になっている場合、下記の .NET Framework 向けに
    開発されたアプリケーションを動作させることができす。
     .NET Framework 2.0
     .NET Framework 2.0 Service Pack 1
     .NET Framework 2.0 Service Pack 2
     .NET Framework 3.0
     .NET Framework 3.0 Service Pack 1
     .NET Framework 3.0 Service Pack 2
     .NET Framework 3.5
     .NET Framework 3.5 Service Pack 1
    
    
    .NET 1.0/1.1 向けのアプリについては、2.0 のランタイムにて
    動作させることはできます。しかし、.NET Framework 4.6.1 向けの
    アプリケーションを、Windows 7 上で動かしたいのであれば、
    4.6.1 あるいは 4.6.2 の追加導入が必要です。
    https://www.microsoft.com/ja-jp/download/details.aspx?id=53344
    
    
    ただ冒頭に書いたように、.NET Framework 4.6.1 向けのアプリケーションを
    VB2008 で作ることはできません。VB2008 で開発できるのは 2.0/3.0/3.5 向けのみです。
    
    ※このほか、.NET Compact Framework 向けのアプリも作れますがここでは割愛。
    
    
    Visual Studio                                 .NET Framework
    --------------------------------------------------------------------------
    Visual Studio .NET                            1.0
    Visual Studio 2003                            1.1
    Visual Studio 2005                            2.0
    Visual Studio 2005 with .NET 3.0 Extensions   2.0, 3.0
    Visual Studio 2008                            2.0 SP1, 3.0 SP1, 3.5
    Visual Studio 2008 with Service Pack 1        2.0 SP2, 3.0 SP2, 3.5 SP1
    Visual Studio 2010                            4.0
    
    
    下記も参照してみて下さい。
    http://www.atmarkit.co.jp/ait/articles/1211/16/news093.html
記事No.82506 のレス /過去ログ141より / 関連記事表示
削除チェック/

■82519  Re[1]: .NETFrameworkのVerについて 開発側 利用側
□投稿者/ 大谷刑部 -(2017/01/13(Fri) 11:09:10)
    No82506 (XXX さん) に返信
    > VB2008でプログラムを作成しているのですが、他のPCで.exeを起動させるとメッセージボックスが出て 「プログラムは動作を停止しました」と出てきました
    > この原因は.NETFrameworkのバージョンが違う事によるものなのでしょうか?? 他に考えられるものがあればアドバイス等よろしくお願いします。
    >
    > OSはどちらもwindows7 で .NETFrameworkのVerは開発側も利用側も .net framework 4.6.1でした。 プログラムのコンパイルの詳細設定を確認すると.NET Framework3.5だったのですが、
    > 利用側で4.6.1を消して.NET Framework3.5を入れれば動作するのでしょうか??  開発側では問題なく動作してる様なのですが、.net framework 4.6.1を使うのは問題ないでしょうか? 
    > 回答よろしくお願いします。

    Visual Studioと.NetFrameworkのバージョンはみなさんのおっしゃる通りなので、
    どのバージョンで作成するかはどんな目的でどんなプログラムを開発しようとしているかによるかと思います。

    3.5は2.0系の最終版で
    4.0以降とは共存はできるが互換性がないため、
    4.0以降でしか使えない機能(例:元号の日本カレンダー用レジストリ参照)を使用する必要があるなら、
    必然的に.net framework 4.6.1が無難でしょうし、
    2.0の機能で十分(例:ADO.netが問題なく使えればよいetc)であれば、ユーザーとの要調整ということになるかと思います。
記事No.82506 のレス /過去ログ141より / 関連記事表示
削除チェック/

■82508  参照の設定 .NET .COM
□投稿者/ XYZ -(2017/01/12(Thu) 16:03:17)

    分類:[.NET 全般] 

    初心者です。
    visualbasicでプログラムを作成しています。

    他のPCで.exeを起動させると「プログラムは動作を停止しました」とメッセージボックスが出てきました
    作成環境では正常に動作しているのでおそらくプログラムの参照の設定が出来ていないからだとは思うのですが、
    参照の設定の .NET .COM について何を追加したらどうなるか等詳しく書いているサイト又は本はありますか??
    回答よろしくお願いします。
親記事 /過去ログ141より / 関連記事表示
削除チェック/

■82509  Re[1]: 参照の設定 .NET .COM
□投稿者/ 魔界の仮面弁士 -(2017/01/12(Thu) 17:16:15)
    No82508 (XYZ さん) に返信
    > 他のPCで.exeを起動させると「プログラムは動作を停止しました」とメッセージボックスが出てきました

    (1) イベントログに、エラー時の詳細情報が記録されていないでしょうか?
     あるいはそのメッセージボックスに、追加の情報が記載されていませんか?
     それらの情報が残されていれば、そこから問題点を絞り込めるかもしれません。

    (2) 実行環境には、必要なコンポーネントがすべて導入されていますか?
     たとえば PowerPacks のライブラリ(LineShape、RectangleShape等)は
     Visual Studio と共にインストールされますが、.NET Framework には
     含まれていないため、こうしたコンポーネントを利用する場合には、
     それらの依存コンポーネントも実行環境に配備する必要があります。


    > 参照の設定の .NET .COM について何を追加したらどうなるか

    そのアプリは、何と何を参照設定していますか?
    参照しているアセンブリ名とバージョンを列挙してみて下さい。
記事No.82508 のレス /過去ログ141より / 関連記事表示
削除チェック/

■82520  Re[2]: 参照の設定 .NET .COM
□投稿者/ XYZ -(2017/01/13(Fri) 11:18:58)
    No82509 (魔界の仮面弁士 さん) に返信

    (1) イベントログに、エラー時の詳細情報が記録されていないでしょうか?
    >。
    回答ありがとうございます。イベントログ、問題の詳細を確認しました。
    問題の詳細
    説明:
    Stopped working
    問題イベント名: CLR20r3
    問題の署名 09: System.InvalidOperationException
    ロケール ID: 1041
    となっておりました。
    System.InvalidOperationExceptionを調べたのですが、 オブジェクトのメソッドが呼び出されたときに、そのオブジェクトの状態が、メソッドの呼び出しをサポートできない場合にスローされます。 この例外は、メソッドがメインまたは UI 以外のスレッドから UI を操作しようとしたときにもスローされます。 Microsoft.visualBasic.PowerPack.Vs 9.0.0.0を実行側に追加し確認してみます。
    > (2) 実行環境には、必要なコンポーネントがすべて導入されていますか?
      すいません。  何も導入されていなかったです。 実行環境にはReleaseファイル全部とプログラムが読みに行くtextファイルとCSVファイルと.NETを入れているだけでした。
    Microsoft.visualBasic.PowerPack.Vs 9.0.0.0を入れて確認してみます。

    >>参照の設定の .NET .COM について何を追加したらどうなるか
    >
    > そのアプリは、何と何を参照設定していますか?
    > 参照しているアセンブリ名とバージョンを列挙してみて下さい。
    Microsoft.visualBasic.PowerPack.Vs 9.0.0.0
    system 2.0.0.0
    system.Core 3.5.0.0
    System.Data 2.0.0.0
    System.Data.DataSetExtensions 3.5.0.0
    system.Deployment 2.0.0.0
    System.Design 2.0.0.0
    System.Windows.Forms 2.0.0.0
    system.Xml 2.0.0.0
    System.xml.Ling 3.5.0.0
    今回使用していないアセンブリ等やCOMについて細かく書いてる参考書やサイト等を知っておりましたら教えて頂けないでしょうか。
    以上です 長文になってしまい すいません。 お忙しいところ申し訳ないですが回答・アドバイスお願いします。
記事No.82508 のレス /過去ログ141より / 関連記事表示
削除チェック/

■82522  Re[3]: 参照の設定 .NET .COM
□投稿者/ 魔界の仮面弁士 -(2017/01/13(Fri) 13:47:17)
    No82520 (XYZ さん) に返信
    > Microsoft.visualBasic.PowerPack.Vs 9.0.0.0

    恐らくは、これが原因でしょうね。(VB2008 をお使いでしょうか?)
    Visual Basic PowerPacks には複数のバージョンがありますのでご注意下さい。


    > 今回使用していないアセンブリ等やCOMについて細かく書いてる参考書やサイト等を知っておりましたら教えて頂けないでしょうか。

    そもそもの質問内容が漠然としていて答えにくいのですが、
    アセンブリや COM の、何についてを知りたいのでしょうか?

    アセンブリそのものは膨大な数があるので、それらすべてについて
    細かく記載することは出来ないでしょう。ただ、MSDN Library を読めば、
    .NET Framework の各クラスがどの DLL に含まれているのかは分かりますね。
記事No.82508 のレス /過去ログ141より / 関連記事表示
削除チェック/

■82524  Re[4]: 参照の設定 .NET .COM
□投稿者/ XYZ -(2017/01/13(Fri) 15:34:50)
    No82522 (魔界の仮面弁士 さん) に返信
    ありがとうございます。 無事に起動する事が出来ました。。!

    お忙しい中分かり易く説明していただきありがとうございました。 まだまだ勉強不足なので作りながら勉強していきます。。
    今回使用していないアセンブリ等やCOMについて細かく書いてる参考書やサイト等を知っておりましたら教えて頂けないでしょうか。
    分からない事だらけだったもので、変な質問をしてしまい、すいません。。 まずはMSDN Library で調べてみます。
記事No.82508 のレス /過去ログ141より / 関連記事表示
削除チェック/

■82525  Re[5]: 参照の設定 .NET .COM
□投稿者/ とっちゃん -(2017/01/13(Fri) 18:15:44)
    No82524 (XYZ さん) に返信
    > 今回使用していないアセンブリ等やCOMについて細かく書いてる参考書やサイト等を知っておりましたら教えて頂けないでしょうか。

    COMのほうだけ。
    とりあえず、MSDN Libraryにある、COM のトップです。
    https://msdn.microsoft.com/en-us/library/windows/desktop/ee663262.aspx

    まとまっている情報としてはこれくらいだと思います。MS発の日本語情報はありません。
記事No.82508 のレス /過去ログ141より / 関連記事表示
削除チェック/

■82513  Re[1]: 参照の設定 .NET .COM
□投稿者/ Azulean -(2017/01/12(Thu) 21:52:28)
    No82508 (XYZ さん) に返信
    > 作成環境では正常に動作しているのでおそらくプログラムの参照の設定が出来ていないからだとは思うのですが、
    > 参照の設定の .NET .COM について何を追加したらどうなるか等詳しく書いているサイト又は本はありますか??

    そうではありません。
    起動できない原因は参照設定が足りないからではなく、実行環境に必要な DLL などが足りないからです。

    原因分析には 魔界の仮面弁士 さんが言われているようにイベントログが1番手かと思います。
記事No.82508 のレス /過去ログ141より / 関連記事表示
削除チェック/

次の20件>

<< 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 >>

ヒット件数が多いので過去ログ141〜141 までの検索結果 / 過去ログ142からさらに検索→

パスワード/

- Child Tree -