2013年9月26日 星期四

IIS 7 Url Rewrite Filter query string

嘗試利用 IIS 7的 ARR (application request routing) 來當做cache,減輕origin server的loading

需要濾掉query string

於是有以下的文章


重點摘錄

<rule name="Rewrite querystring" stopProcessing="true">
    <match url="^abc/pqr/xyz/?$" />
    <conditions>
        <add input="{QUERY_STRING}" pattern="^word1$" />
    </conditions>
    <action type="Redirect" url="{R:0}?word2" appendQueryString="false" />
</rule>
這個文件位於
ApplicationHost.config. This file is located in %windir%\system32\inetsrv\config

http://technet.microsoft.com/en-us/library/cc754617(v=ws.10).aspx

2013年6月7日 星期五

總之,網誌搬家了

日子就這麼一天一天的過
說好像沒做什麼,也不是
但這樣的生活,有點過於平淡了...

以前,或多或少都有些想法
連下雨,都可以說出一些什麼

但是現在呢?

總之,看看部落格還會不會增加新文章吧

先把無名搬過來

2012年7月25日 星期三

T-SQL 學習紀錄(1)

下sql command的時候,有時候多麼希望條件可以動態產生
如果使用程式的方式是非常容易的
但是在T-SQL有限的能力下,是非常複雜的!!

但是為了要使用pivot這個好用的功能
不得不要寫一個stored procedure來達成

SELECT * FROM dbo.table WHERE column IN (xxxxxx)
重點就在於xxxx要如何動態產生

stackoverflow真是好網站,什麼奇怪的問題都有人問
還引發一連串的討論

以下是我使用的方法
首先先寫一個function存起來



CREATE FUNCTION [dbo].[fnSplit](
    @sInputList VARCHAR(8000) -- List of delimited items
  , @sDelimiter VARCHAR(8000) = ',' -- delimiter that separates items
) RETURNS @List TABLE (item VARCHAR(8000))
BEGIN
DECLARE @sItem VARCHAR(8000)
WHILE CHARINDEX(@sDelimiter,@sInputList,0) <> 0
 BEGIN
 SELECT
  @sItem=RTRIM(LTRIM(SUBSTRING(@sInputList,1,CHARINDEX(@sDelimiter,@sInputList,0)-1))),
  @sInputList=RTRIM(LTRIM(SUBSTRING(@sInputList,CHARINDEX(@sDelimiter,@sInputList,0)+LEN(@sDelimiter),LEN(@sInputList))))

 IF LEN(@sItem) > 0
  INSERT INTO @List SELECT @sItem
 END
IF LEN(@sInputList) > 0
 INSERT INTO @List SELECT @sInputList -- Put the last item in
RETURN
END


透過這個function就可以將一連串的字串拆開啦!!
使用方式

SELECT item from fnSplit(@tags, ‘|’)

如果套用在code當中,就會如同下面的頁面


DECLARE @tags
SET @tags = ‘ruby|rails|scruffy|rubyonrails’
select * from Tags where Name in (SELECT item from fnSplit(@tags, ‘|’))
order by Count desc



ref:
http://stackoverflow.com/questions/337704/parameterizing-an-sql-in-clause

2012年7月10日 星期二

DotNet 學習紀錄(2)

One-way web service

通常的情況來說,呼叫web service之後,都會有回傳值
但還是會有只送出request給server,但不需要等候回覆的時候

因此就有了one-way web service
除了在定義operation contract的時候要寫成void
還要標示成one way
這樣以soap表示的時候,會更為明確

定義 IService的時候,將IsOneWay設定為true

[OperationContract(IsOneWay=true)]
void Add(double n1, double n2);


ref:
http://msdn.microsoft.com/en-us/library/ms730149(v=vs.90).aspx

2012年7月6日 星期五

DotNet 學習紀錄(1)

最近在寫 .NET 4.0的web service
web service也就是說是在網路上的服務嘛....
總是要定義一個網址,才make sense吧

但是在binding web address的時候,總是會寫 http://localhost/xxxx/xxx.svc
一旦被解析出來的時候,往往就會變成是電腦名稱
我的電腦名稱又沒有DNS認得他,豈不是就找不到了!?
如果直接指定ip address,要佈署到另一台電腦上還要重新改config也很麻煩

於是就找到下面的方法了


在 web.config中

<system.serviceModel>
    <behaviors>
        <serviceBehaviors>
            <behavior>
                <useRequestHeadersForMetadataAddress/>  ← 加入這行
            </behavior>
        </serviceBehaviors>
    </behaviors>
</system.serviceModel>

就搞定囉!!!!




網頁留存(reference)
using request headers for metadata address
http://zamd.net/2010/01/14/using-request-headers-for-metadata-address/

2011年4月11日 星期一

關聯性



前幾天做了一個有趣的問卷



列出了很多的元素,慢慢拼湊



 



音速青春、咖啡館、村上春樹、INDIEVOX、煙



攝影、寫作、電影



地點為: Legacy



 



請問你覺得當代文青代表是?

2011年3月2日 星期三

隨想

想想,有時候還是該寫些東西



也不是說要給誰看或什麼的...



只是,好像太久沒用



就會忘記 忘記那些文字



就少了深刻的感覺...



日復一日的過了 每天都是一樣呢!!