SlideShare une entreprise Scribd logo
1  sur  10
Télécharger pour lire hors ligne
Visual Studioで作成する
SharePointアドイン開発
SharePoint Onlineアクセスモニター
2016年5月
SharePoint Onlineカスタマイズ
今回のお題
SharePoint Onlineのアクセスを
リアルタイムにモニターする
利用する仕組み
• プロバイダーホスト型
• SignalR(Web Socket)でリアルタイム表示
• UserCustomActions
• すべてのページにJavascriptを埋め込める
• ログ収集用のJavaScriptを埋め込む
埋め込みスクリプト
(function () {
this.send = function () {
if (!SP.ClientContext) {
setTimeout(this.send, 100);
return;
}
var ctx = new SP.ClientContext.get_current();
var website = ctx.get_web();
var currentUser = website.get_currentUser();
ctx.load(currentUser);
ctx.executeQueryAsync(function () {
var uid = currentUser.get_email();
var r = new XMLHttpRequest();
r.open('POST', '" + actionUrl +@"', true);
r.setRequestHeader( 'Content-Type', 'application/x-www-form-urlencoded' );
r.send('title=' + encodeURIComponent(document.title) + '&url='+ encodeURIComponent( location.pathname +
location.search + location.hash) + '&user=' + uid );
},
function () {
var r = new XMLHttpRequest();
r.open('POST', '" + actionUrl +@"', true);
r.setRequestHeader( 'Content-Type', 'application/x-www-form-urlencoded' );
r.send('title=' + encodeURIComponent(document.title) + '&url='+ encodeURIComponent( location.pathname +
location.search + location.hash) + '&user=');
});
}
setTimeout(this.send, 0);
})();
ログ収集用のWebサービスにタイトルと
URLとメールアドレスを送信するJavascript
JavaScriptの埋め込み
private void SetUserScript(ClientContext ctx, string script)
{
var userCustomActions = ctx.Site.UserCustomActions;
ctx.Load(userCustomActions);
ctx.ExecuteQuery();
var action = userCustomActions.Where(x => x.Title == userScriptName).FirstOrDefault();
if (action == null)
{
action = userCustomActions.Add();
action.Location = "ScriptLink";
action.Title = userScriptName; ;
}
action.ScriptBlock = script??"";
action.Sequence = 1000;
action.Update();
ctx.ExecuteQuery();
//空の場合削除する
if (string.IsNullOrWhiteSpace(script))
{
action.DeleteObject();
ctx.Load(action);
ctx.ExecuteQuery();
return;
}
}
ctx.Site.UserCustomActionsに登録
ログ受信処理
public ActionResultWrite(string user, string title, string url)
{
var hubContext = GlobalHost.ConnectionManager.GetHubContext<MonitorHub>();
hubContext.Clients.All.update(new
{
Timestamp = DateTime.Now,
User = user,
Title = title,
Url = url,
});
return new HttpStatusCodeResult(200);
}
今回はファイル等には保存せず、SignalR
でブロードキャスト送信
ログ表示処理
$.connection.hub.start().done(function () {
$("#connection-satus").text("接続済み");
});
var myHub = $.connection.monitorHub;
myHub.client.update = function (model) {
$("#messagelist tbody").prepend($('<tr class="msg2"><td colspan="3"><p class="ellipsis">'
+ model.Url + "</p></td></tr>"));
$("#messagelist tbody").prepend($('<tr class="msg1"><td><p class="ellipsis">‘
+ model.Timestamp + '</p></td><td><p class="ellipsis">‘
+ model.Title + '</p></td><td><p class="ellipsis">' + model.User + '</p></td></tr>'));
if ($("#messagelist tbody tr").length > 100) {
$("#messagelist tbody tr:last-child").remove()
$("#messagelist tbody tr:last-child").remove()
}
};
SignalRで送信されたデータを画面に表示
できること/できないこと
• できること
• 表示のタイミングでログするため、リストアイ
テム表示などSharePointの監査ログで収集でき
ない項目もカバーできる
• できないこと
• ファイルのプレビューはログ可能だが、ダウ
ンロードや直接表示された場合はログはでき
ない
• SharePointのJavaScriptをHackingすることである
程度は対応できる
まとめ
• UserCustomActions を使うとログ収集は簡単にできる
• SignalRなどの技術と組み合わせことでリアルタイムに
モニターすることも可能
• SharePointのJavaScriptをHackingするとさらにいろいろ
でき可能性がある
• サンプルコード
• https://github.com/akihiroe/SharePointAccessMonitor
http://www.proaxia-consulting.co.jp
Azure&SharePointアプリケーション開発についてのお問合せ
[担当] akihiro.ehara@proaxia-consulting.co.jp
SharePoint Onlineとファイルサーバーを統合するCloud Storage Light
https://www.cloudstoragelight.com
SharePoint 上のファイルをエクスプローラ感覚でサクサク操作するSharePointエクスプローラ
https://www.cloudstoragelight.com/sharepointexplorer/

Contenu connexe

Tendances

LINE LIFF with Azure ハンズオン資料 - Azure サービス解説
LINE LIFF with Azure ハンズオン資料 - Azure サービス解説LINE LIFF with Azure ハンズオン資料 - Azure サービス解説
LINE LIFF with Azure ハンズオン資料 - Azure サービス解説Kazumi IWANAGA
 
WebIDLを見てみる
WebIDLを見てみるWebIDLを見てみる
WebIDLを見てみるtakenspc
 
懲りずにazure functionsでlinebotを作ってみた
懲りずにazure functionsでlinebotを作ってみた懲りずにazure functionsでlinebotを作ってみた
懲りずにazure functionsでlinebotを作ってみた裕之 木下
 
LINE API 紹介&LINE API Use Case(Azure編)
LINE API 紹介&LINE API Use Case(Azure編)LINE API 紹介&LINE API Use Case(Azure編)
LINE API 紹介&LINE API Use Case(Azure編)拓将 平林
 
第12回rest勉強会 これまでの補足・展望編
第12回rest勉強会 これまでの補足・展望編第12回rest勉強会 これまでの補足・展望編
第12回rest勉強会 これまでの補足・展望編ksimoji
 
JAWSDAYS2017 新訳 とあるアーキテクトのクラウドデザインパターン目録 AMI Maintenance Environment
JAWSDAYS2017 新訳 とあるアーキテクトのクラウドデザインパターン目録 AMI Maintenance EnvironmentJAWSDAYS2017 新訳 とあるアーキテクトのクラウドデザインパターン目録 AMI Maintenance Environment
JAWSDAYS2017 新訳 とあるアーキテクトのクラウドデザインパターン目録 AMI Maintenance EnvironmentJin k
 
Micronaut on Azure 試してみた
Micronaut on Azure 試してみたMicronaut on Azure 試してみた
Micronaut on Azure 試してみた拓将 平林
 
Microsoft Search - Microsoft Graph connector と Search Federation の概要
Microsoft Search - Microsoft Graph connector と Search Federation の概要Microsoft Search - Microsoft Graph connector と Search Federation の概要
Microsoft Search - Microsoft Graph connector と Search Federation の概要Ai Hirano
 
パララックスでレスポンシブでJ query mobileなサイトのつくりかた
パララックスでレスポンシブでJ query mobileなサイトのつくりかたパララックスでレスポンシブでJ query mobileなサイトのつくりかた
パララックスでレスポンシブでJ query mobileなサイトのつくりかたShumpei Shiraishi
 
Let's try to use Background sync
Let's try to use Background syncLet's try to use Background sync
Let's try to use Background syncHirata Tomoko
 
IoT(Bluetooth mesh) × サーバーレス
IoT(Bluetooth mesh) × サーバーレスIoT(Bluetooth mesh) × サーバーレス
IoT(Bluetooth mesh) × サーバーレスMasahiro NAKAYAMA
 
Closure Toolsの紹介
Closure Toolsの紹介Closure Toolsの紹介
Closure Toolsの紹介Yusuke Amano
 
GCPだから出来た 自動Web監視システムのインフラ構築(仮)
GCPだから出来た 自動Web監視システムのインフラ構築(仮)GCPだから出来た 自動Web監視システムのインフラ構築(仮)
GCPだから出来た 自動Web監視システムのインフラ構築(仮)beyond Co., Ltd.
 
【NLU祭り 場外編】コミュニケーションをより身近に、よりかしこく。LUIS と Azure AI サービスの使いどころ
【NLU祭り 場外編】コミュニケーションをより身近に、よりかしこく。LUIS と Azure AI サービスの使いどころ【NLU祭り 場外編】コミュニケーションをより身近に、よりかしこく。LUIS と Azure AI サービスの使いどころ
【NLU祭り 場外編】コミュニケーションをより身近に、よりかしこく。LUIS と Azure AI サービスの使いどころKazumi IWANAGA
 
RealTimeDatabaseで チャットアプリを5分で作る話
RealTimeDatabaseで チャットアプリを5分で作る話RealTimeDatabaseで チャットアプリを5分で作る話
RealTimeDatabaseで チャットアプリを5分で作る話and factory, inc.
 
WordPressで制御するこれからのIoT
WordPressで制御するこれからのIoTWordPressで制御するこれからのIoT
WordPressで制御するこれからのIoTYuriko IKEDA
 
第5回rest勉強会 ログイン編
第5回rest勉強会 ログイン編第5回rest勉強会 ログイン編
第5回rest勉強会 ログイン編ksimoji
 
WebAssemblyとBlazor 、WebAssembly System Interfaceでコンテナライズの設計を解説
WebAssemblyとBlazor 、WebAssembly System Interfaceでコンテナライズの設計を解説WebAssemblyとBlazor 、WebAssembly System Interfaceでコンテナライズの設計を解説
WebAssemblyとBlazor 、WebAssembly System Interfaceでコンテナライズの設計を解説Takao Tetsuro
 
Webフロントエンド開発の最新トレンド - HTML5, モバイル, オフライン
Webフロントエンド開発の最新トレンド - HTML5, モバイル, オフラインWebフロントエンド開発の最新トレンド - HTML5, モバイル, オフライン
Webフロントエンド開発の最新トレンド - HTML5, モバイル, オフラインShumpei Shiraishi
 

Tendances (20)

LINE LIFF with Azure ハンズオン資料 - Azure サービス解説
LINE LIFF with Azure ハンズオン資料 - Azure サービス解説LINE LIFF with Azure ハンズオン資料 - Azure サービス解説
LINE LIFF with Azure ハンズオン資料 - Azure サービス解説
 
WebIDLを見てみる
WebIDLを見てみるWebIDLを見てみる
WebIDLを見てみる
 
懲りずにazure functionsでlinebotを作ってみた
懲りずにazure functionsでlinebotを作ってみた懲りずにazure functionsでlinebotを作ってみた
懲りずにazure functionsでlinebotを作ってみた
 
LINE API 紹介&LINE API Use Case(Azure編)
LINE API 紹介&LINE API Use Case(Azure編)LINE API 紹介&LINE API Use Case(Azure編)
LINE API 紹介&LINE API Use Case(Azure編)
 
第12回rest勉強会 これまでの補足・展望編
第12回rest勉強会 これまでの補足・展望編第12回rest勉強会 これまでの補足・展望編
第12回rest勉強会 これまでの補足・展望編
 
JAWSDAYS2017 新訳 とあるアーキテクトのクラウドデザインパターン目録 AMI Maintenance Environment
JAWSDAYS2017 新訳 とあるアーキテクトのクラウドデザインパターン目録 AMI Maintenance EnvironmentJAWSDAYS2017 新訳 とあるアーキテクトのクラウドデザインパターン目録 AMI Maintenance Environment
JAWSDAYS2017 新訳 とあるアーキテクトのクラウドデザインパターン目録 AMI Maintenance Environment
 
Micronaut on Azure 試してみた
Micronaut on Azure 試してみたMicronaut on Azure 試してみた
Micronaut on Azure 試してみた
 
Microsoft Search - Microsoft Graph connector と Search Federation の概要
Microsoft Search - Microsoft Graph connector と Search Federation の概要Microsoft Search - Microsoft Graph connector と Search Federation の概要
Microsoft Search - Microsoft Graph connector と Search Federation の概要
 
パララックスでレスポンシブでJ query mobileなサイトのつくりかた
パララックスでレスポンシブでJ query mobileなサイトのつくりかたパララックスでレスポンシブでJ query mobileなサイトのつくりかた
パララックスでレスポンシブでJ query mobileなサイトのつくりかた
 
Let's try to use Background sync
Let's try to use Background syncLet's try to use Background sync
Let's try to use Background sync
 
IoT(Bluetooth mesh) × サーバーレス
IoT(Bluetooth mesh) × サーバーレスIoT(Bluetooth mesh) × サーバーレス
IoT(Bluetooth mesh) × サーバーレス
 
Closure Toolsの紹介
Closure Toolsの紹介Closure Toolsの紹介
Closure Toolsの紹介
 
GCPだから出来た 自動Web監視システムのインフラ構築(仮)
GCPだから出来た 自動Web監視システムのインフラ構築(仮)GCPだから出来た 自動Web監視システムのインフラ構築(仮)
GCPだから出来た 自動Web監視システムのインフラ構築(仮)
 
【NLU祭り 場外編】コミュニケーションをより身近に、よりかしこく。LUIS と Azure AI サービスの使いどころ
【NLU祭り 場外編】コミュニケーションをより身近に、よりかしこく。LUIS と Azure AI サービスの使いどころ【NLU祭り 場外編】コミュニケーションをより身近に、よりかしこく。LUIS と Azure AI サービスの使いどころ
【NLU祭り 場外編】コミュニケーションをより身近に、よりかしこく。LUIS と Azure AI サービスの使いどころ
 
RealTimeDatabaseで チャットアプリを5分で作る話
RealTimeDatabaseで チャットアプリを5分で作る話RealTimeDatabaseで チャットアプリを5分で作る話
RealTimeDatabaseで チャットアプリを5分で作る話
 
Apache Spark on Azure
Apache Spark on AzureApache Spark on Azure
Apache Spark on Azure
 
WordPressで制御するこれからのIoT
WordPressで制御するこれからのIoTWordPressで制御するこれからのIoT
WordPressで制御するこれからのIoT
 
第5回rest勉強会 ログイン編
第5回rest勉強会 ログイン編第5回rest勉強会 ログイン編
第5回rest勉強会 ログイン編
 
WebAssemblyとBlazor 、WebAssembly System Interfaceでコンテナライズの設計を解説
WebAssemblyとBlazor 、WebAssembly System Interfaceでコンテナライズの設計を解説WebAssemblyとBlazor 、WebAssembly System Interfaceでコンテナライズの設計を解説
WebAssemblyとBlazor 、WebAssembly System Interfaceでコンテナライズの設計を解説
 
Webフロントエンド開発の最新トレンド - HTML5, モバイル, オフライン
Webフロントエンド開発の最新トレンド - HTML5, モバイル, オフラインWebフロントエンド開発の最新トレンド - HTML5, モバイル, オフライン
Webフロントエンド開発の最新トレンド - HTML5, モバイル, オフライン
 

Similaire à SharePoint Onlineアクセスモニター

Pro aspnetmvc3framework chap19
Pro aspnetmvc3framework chap19Pro aspnetmvc3framework chap19
Pro aspnetmvc3framework chap19Hideki Hashizume
 
Isomorphic web development with scala and scala.js
Isomorphic web development  with scala and scala.jsIsomorphic web development  with scala and scala.js
Isomorphic web development with scala and scala.jsTanUkkii
 
Azure で Serverless 初心者向けタッチ&トライ
Azure で Serverless 初心者向けタッチ&トライAzure で Serverless 初心者向けタッチ&トライ
Azure で Serverless 初心者向けタッチ&トライMasanobu Sato
 
XAML と C# を使った Windows ストアアプリ(LOB)構築のためのtips Prism 4.5 & Kona project 等のご紹介
XAML と C# を使った Windows ストアアプリ(LOB)構築のためのtips   Prism 4.5 & Kona project 等のご紹介XAML と C# を使った Windows ストアアプリ(LOB)構築のためのtips   Prism 4.5 & Kona project 等のご紹介
XAML と C# を使った Windows ストアアプリ(LOB)構築のためのtips Prism 4.5 & Kona project 等のご紹介Shotaro Suzuki
 
ボット開発でも DevOps! BotBuilder のテスト手法
ボット開発でも DevOps! BotBuilder のテスト手法ボット開発でも DevOps! BotBuilder のテスト手法
ボット開発でも DevOps! BotBuilder のテスト手法Kenichiro Nakamura
 
ソーシャルアプリ勉強会(第一回資料)配布用
ソーシャルアプリ勉強会(第一回資料)配布用ソーシャルアプリ勉強会(第一回資料)配布用
ソーシャルアプリ勉強会(第一回資料)配布用Yatabe Terumasa
 
One ASP.NET の今とこれから
One ASP.NET の今とこれからOne ASP.NET の今とこれから
One ASP.NET の今とこれからAkira Inoue
 
Data apiで実現 進化するwebの世界
Data apiで実現 進化するwebの世界Data apiで実現 進化するwebの世界
Data apiで実現 進化するwebの世界Yuji Takayama
 
Featuring Project Silk & Liike: 楽しい "モダン" Web 開発のちょっとディープなお話
Featuring Project Silk & Liike: 楽しい "モダン" Web 開発のちょっとディープなお話Featuring Project Silk & Liike: 楽しい "モダン" Web 開発のちょっとディープなお話
Featuring Project Silk & Liike: 楽しい "モダン" Web 開発のちょっとディープなお話Akira Inoue
 
ASP.NET シングル ページ アプリケーション (SPA) 詳説
ASP.NET シングル ページ アプリケーション (SPA) 詳説ASP.NET シングル ページ アプリケーション (SPA) 詳説
ASP.NET シングル ページ アプリケーション (SPA) 詳説Akira Inoue
 
初めての Data api cms どうでしょう - 大阪夏の陣
初めての Data api   cms どうでしょう - 大阪夏の陣初めての Data api   cms どうでしょう - 大阪夏の陣
初めての Data api cms どうでしょう - 大阪夏の陣Yuji Takayama
 
jQuery と MVC で実践する標準志向 Web 開発
jQuery と MVC で実践する標準志向 Web 開発jQuery と MVC で実践する標準志向 Web 開発
jQuery と MVC で実践する標準志向 Web 開発Akira Inoue
 
Alfresco勉強会#36 alfresco 5でカスタムREST APIを作ってみよう
Alfresco勉強会#36 alfresco 5でカスタムREST APIを作ってみようAlfresco勉強会#36 alfresco 5でカスタムREST APIを作ってみよう
Alfresco勉強会#36 alfresco 5でカスタムREST APIを作ってみようTasuku Otani
 

Similaire à SharePoint Onlineアクセスモニター (20)

Pro aspnetmvc3framework chap19
Pro aspnetmvc3framework chap19Pro aspnetmvc3framework chap19
Pro aspnetmvc3framework chap19
 
20120425
2012042520120425
20120425
 
Isomorphic web development with scala and scala.js
Isomorphic web development  with scala and scala.jsIsomorphic web development  with scala and scala.js
Isomorphic web development with scala and scala.js
 
HTML5&API総まくり
HTML5&API総まくりHTML5&API総まくり
HTML5&API総まくり
 
Azure で Serverless 初心者向けタッチ&トライ
Azure で Serverless 初心者向けタッチ&トライAzure で Serverless 初心者向けタッチ&トライ
Azure で Serverless 初心者向けタッチ&トライ
 
XAML と C# を使った Windows ストアアプリ(LOB)構築のためのtips Prism 4.5 & Kona project 等のご紹介
XAML と C# を使った Windows ストアアプリ(LOB)構築のためのtips   Prism 4.5 & Kona project 等のご紹介XAML と C# を使った Windows ストアアプリ(LOB)構築のためのtips   Prism 4.5 & Kona project 等のご紹介
XAML と C# を使った Windows ストアアプリ(LOB)構築のためのtips Prism 4.5 & Kona project 等のご紹介
 
densan2014-late01
densan2014-late01densan2014-late01
densan2014-late01
 
ボット開発でも DevOps! BotBuilder のテスト手法
ボット開発でも DevOps! BotBuilder のテスト手法ボット開発でも DevOps! BotBuilder のテスト手法
ボット開発でも DevOps! BotBuilder のテスト手法
 
ソーシャルアプリ勉強会(第一回資料)配布用
ソーシャルアプリ勉強会(第一回資料)配布用ソーシャルアプリ勉強会(第一回資料)配布用
ソーシャルアプリ勉強会(第一回資料)配布用
 
HTML5 on ASP.NET
HTML5 on ASP.NETHTML5 on ASP.NET
HTML5 on ASP.NET
 
One ASP.NET の今とこれから
One ASP.NET の今とこれからOne ASP.NET の今とこれから
One ASP.NET の今とこれから
 
Data apiで実現 進化するwebの世界
Data apiで実現 進化するwebの世界Data apiで実現 進化するwebの世界
Data apiで実現 進化するwebの世界
 
Featuring Project Silk & Liike: 楽しい "モダン" Web 開発のちょっとディープなお話
Featuring Project Silk & Liike: 楽しい "モダン" Web 開発のちょっとディープなお話Featuring Project Silk & Liike: 楽しい "モダン" Web 開発のちょっとディープなお話
Featuring Project Silk & Liike: 楽しい "モダン" Web 開発のちょっとディープなお話
 
ASP.NET シングル ページ アプリケーション (SPA) 詳説
ASP.NET シングル ページ アプリケーション (SPA) 詳説ASP.NET シングル ページ アプリケーション (SPA) 詳説
ASP.NET シングル ページ アプリケーション (SPA) 詳説
 
Mobile Web
Mobile WebMobile Web
Mobile Web
 
初めての Data api cms どうでしょう - 大阪夏の陣
初めての Data api   cms どうでしょう - 大阪夏の陣初めての Data api   cms どうでしょう - 大阪夏の陣
初めての Data api cms どうでしょう - 大阪夏の陣
 
jQuery と MVC で実践する標準志向 Web 開発
jQuery と MVC で実践する標準志向 Web 開発jQuery と MVC で実践する標準志向 Web 開発
jQuery と MVC で実践する標準志向 Web 開発
 
20100313
2010031320100313
20100313
 
Ajax basic
Ajax basicAjax basic
Ajax basic
 
Alfresco勉強会#36 alfresco 5でカスタムREST APIを作ってみよう
Alfresco勉強会#36 alfresco 5でカスタムREST APIを作ってみようAlfresco勉強会#36 alfresco 5でカスタムREST APIを作ってみよう
Alfresco勉強会#36 alfresco 5でカスタムREST APIを作ってみよう
 

Plus de Akihiro Ehara

Visual Studio TypeScript npm WebPack
Visual Studio TypeScript npm WebPackVisual Studio TypeScript npm WebPack
Visual Studio TypeScript npm WebPackAkihiro Ehara
 
Share point開発 勤怠管理
Share point開発 勤怠管理Share point開発 勤怠管理
Share point開発 勤怠管理Akihiro Ehara
 
エンタープライズ.Net light switch
エンタープライズ.Net light switchエンタープライズ.Net light switch
エンタープライズ.Net light switchAkihiro Ehara
 
エンタープライズ.Net RIAサービス
エンタープライズ.Net RIAサービスエンタープライズ.Net RIAサービス
エンタープライズ.Net RIAサービスAkihiro Ehara
 
エンタープライズ.Net DataSet
エンタープライズ.Net DataSetエンタープライズ.Net DataSet
エンタープライズ.Net DataSetAkihiro Ehara
 
エンタープライズ.Net RIAサービス
エンタープライズ.Net RIAサービスエンタープライズ.Net RIAサービス
エンタープライズ.Net RIAサービスAkihiro Ehara
 
エンタープライズ.Net 詳細設計編
エンタープライズ.Net 詳細設計編エンタープライズ.Net 詳細設計編
エンタープライズ.Net 詳細設計編Akihiro Ehara
 
エンタープライズ.Net アーキテクチャ設計編
エンタープライズ.Net アーキテクチャ設計編エンタープライズ.Net アーキテクチャ設計編
エンタープライズ.Net アーキテクチャ設計編Akihiro Ehara
 
エンタープライズ.Net 分析編
エンタープライズ.Net 分析編エンタープライズ.Net 分析編
エンタープライズ.Net 分析編Akihiro Ehara
 

Plus de Akihiro Ehara (10)

Visual Studio TypeScript npm WebPack
Visual Studio TypeScript npm WebPackVisual Studio TypeScript npm WebPack
Visual Studio TypeScript npm WebPack
 
Share point開発 勤怠管理
Share point開発 勤怠管理Share point開発 勤怠管理
Share point開発 勤怠管理
 
Cloud storage light
Cloud storage lightCloud storage light
Cloud storage light
 
エンタープライズ.Net light switch
エンタープライズ.Net light switchエンタープライズ.Net light switch
エンタープライズ.Net light switch
 
エンタープライズ.Net RIAサービス
エンタープライズ.Net RIAサービスエンタープライズ.Net RIAサービス
エンタープライズ.Net RIAサービス
 
エンタープライズ.Net DataSet
エンタープライズ.Net DataSetエンタープライズ.Net DataSet
エンタープライズ.Net DataSet
 
エンタープライズ.Net RIAサービス
エンタープライズ.Net RIAサービスエンタープライズ.Net RIAサービス
エンタープライズ.Net RIAサービス
 
エンタープライズ.Net 詳細設計編
エンタープライズ.Net 詳細設計編エンタープライズ.Net 詳細設計編
エンタープライズ.Net 詳細設計編
 
エンタープライズ.Net アーキテクチャ設計編
エンタープライズ.Net アーキテクチャ設計編エンタープライズ.Net アーキテクチャ設計編
エンタープライズ.Net アーキテクチャ設計編
 
エンタープライズ.Net 分析編
エンタープライズ.Net 分析編エンタープライズ.Net 分析編
エンタープライズ.Net 分析編
 

SharePoint Onlineアクセスモニター