サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
大谷翔平
ichiroku11.hatenablog.jp
.NETで通信するプログラムに興味が出てきたので調べたりしています。ネットワークプログラミングと言うんですかね。まずはやっぱりTCPかなと思うので、TCPを使って通信する簡単なクライアントとサーバのサンプルコードを書いてみました。 .NETでTCPを使って通信するにはTcpClientとTcpListenerを使います。 TcpClient クラス (System.Net.Sockets) TcpListener クラス (System.Net.Sockets) より細かく制御できるSocketを使う方法もあるようです。いい勉強になりそうだとは思うのですがなかなか難しそうなのでソケットはまた別で試したいと思います。というフラグ立て。 Socket クラス (System.Net.Sockets) クライアント クライアントもサーバもHTTPをイメージしてリクエストとレスポンスのメッセージを
SQL Serverで単にタイムアウトと言っても接続タイムアウトとクエリタイムアウト(コマンドタイムアウト)の2つがあります。発生するタイミングが違いますし、それぞれ理解しておきたいなと思います。 まずはちょっと簡単に整理します。 接続タイムアウト 名前の通りなんですがSQL Serverへ接続を試みるときのタイムアウト。SqlConnection.Openのときに発生する場合があります。 タイムアウトまでの時間はSqlConnectionStringBuilder.ConnectTimeoutプロパティで設定します。SqlConnection.ConnectionTimeoutプロパティからは参照だけ。 SqlConnectionStringBuilder.ConnectTimeout プロパティ (System.Data.SqlClient) SqlConnection.Connect
前回はTCPを使って通信してみたので今回はUDPを使って通信するサンプルを書いてみました。 ichiroku11.hatenablog.jp .NETでUDPを使って通信するにはUdpClientを使います。Socketを使う方法はまたそのうち…というフラグ。 UdpClient クラス (System.Net.Sockets) UDPはコネクションレスでTCPよりシンプルなプロトコルなので、UdpClientを使ったコードもTCPに比べるとシンプルでわかりやすいかなと思います。TcpListenerのようなクラスもないですし、NetworkStreamも使いません。言ってしまえばバイト配列を送信する、受信するだけです。 クライアント UDPのサンプルもHTTPのようにクライアントとサーバでリクエストとレスポンスのメッセージをやりとりする動きにしました。まずはクライアントから見ていきましょ
テーブル名やカラム名を含めて外部キーの一覧を取得するクエリです。探したら似たようなクエリが見つかる気もしますが練習もかねて書いてみました。また使うことがあるかなと。 select fk.name as [外部キー名], fkc.constraint_column_id as [外部キーカラムID], pt.name as [参照元テーブル名], pc.name as [参照元カラム名], rt.name as [参照先テーブル名], rc.name as [参照先カラム名] from sys.foreign_keys as fk inner join sys.foreign_key_columns as fkc on fk.object_id = fkc.constraint_object_id -- 参照元のテーブルとカラムをjoin inner join sys.tables as p
Bootstrap の Modal を confirm の代わりとして使いたい時がありますよね。そんなときに Modal と jQuery.Deferred を組み合わせるといいかなと思ったので試してみました。 JavaScript · Bootstrap Deferred Object | jQuery API Documentation まず html。ほぼ Bootstrap のドキュメントにあるサンプルそのままです。実際には動的に作るか埋め込んでおくのかなと思います。 <div id="confirm" class="modal fade"> <div class="modal-dialog"> <div class="modal-content"> <div class="modal-header"> <button type="button" class="close" dat
Includeメソッドを使って関連エンティティを読み込むとき、読み込む関連エンティティをフィルタしたいことがあると思います。というかありました。 Includeメソッドで書けるのかなと思って調べましたがどうもできない様子。代替案がないかなと思って調べたところ、少し古いですが次の記事が見つかりました。 Tip 37 – How to do a Conditional Include – Meta-Me Includeメソッドは使いませんがやりたいことはまさにこれ。記事を読んで終ってしまうのもあれですし、なるほどねと思う部分もあったので試してみました。 エンティティとDBコンテキストを用意します。ユーザがグループに属する1対多の関係です。 // ユーザ class User { public int Id { get; set; } public int GroupId { get; set;
Entity Frameworkを使って直接SQLを実行したいときがあって、さらにパラメータの渡し方が気になったので試していました。 まず直接SQLを実行するメソッドは2つ用意されています。 Database.SqlQuery メソッド (System.Data.Entity) Database.ExecuteSqlCommand メソッド (System.Data.Entity) SqlQueryはselect文、ExecuteSqlCommandはinsert・update・delete文などを実行するのに使います。(厳密にはSqlQueryはDbRawSqlQueryを返します。)どちらのメソッドもパラメータをObject型の可変長引数として渡すことができます。 今回はSqlQueryでパラメータを渡してみたいと思います。 まずはテスト用のエンティティとDbContextを用意して、
SQL Server 2012からOFFSET句とFETCH句が追加されて、クエリだけでページングを実現できるようになりました。Entity Frameworkを使っているときに、SkipメソッドとTakeメソッドを使うとOFFSET句とFETCH句が使われるの?ってあたりが気になったのでログで発行されるクエリを確認してみました。 以前OFFSET句とFETCH句を試した記事はこちら。 SQL Server - OFFSET 句と FETCH 句 - いちろぐ 以前と同じように1~10までの連番を用意して確認してみます。 テストデータ with Source(Value) as( select 1 union all select Value + 1 from Source ) select top 10 * into Sequence from Source; select * from
先日 MSDN で偶然このプロパティを見つけました。 HttpResponse.SuppressFormsAuthenticationRedirect プロパティ (System.Web) 思わず、おおーとなりました。 なぜかと言うと、MSDN の解説にも書いてありますが、ASP.NET では、認証されていない状態(認証クッキーのタイムアウトなども)で認証が必要な URL にアクセスすると、ログインページにリダイレクトされます。 この動きは AJAX リクエストだと割とやっかいで、レスポンスに JSON を期待しているのに取得できるのはログインページの HTML なので、スクリプトエラーになったり、部分的な HTML を期待してページの一部を書き換える処理だと、ページの一部がログインページになったりってことがありました。 今まではこの設定がなかったので、ログインのアクションメソッドで AJ
このページを最初にブックマークしてみませんか?
『ichiroku11.hatenablog.jp』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く