jianglanshui

 

2013年1月25日

FileZilla Server 出现 type 200 in a

配置FileZilla Server 后出现 type 200 in a经过长时间调查发现是FileZilla Server不支持IPv6。
所以在
没安装IPV6的一般会服务卡死,无法使用。需要在 FileZilla Server.xml 添加 〈Item name="Disable IPv6" type="numeric"〉1〈/Item〉

posted @ 2013-12-04 11:23 老蒋 阅读(477) | 评论 (0)编辑 收藏

二级域名带了下划线(如:aw_server) IE浏览器下,跳转页面session丢失

原因是二级域名带了下划线(如:aw_server)

本地测试完全没问题,不管什么浏览器都能获取到session。

丢到服务器上后就不行了,但是chrome,firefox依然可以,甚至搜狗浏览器的IE内核都可以。。。

具体是在登录验证之后,会执行session.add
之后就是response.redirect跳转

我验证了一下,session.add之后获取能获取到,但是跳转之后session就丢失了,以前几个月都没出过这种问题。

服务器上有asp会话服务,webconfig也完全没问题。

跪求解答,太奇葩了。

posted @ 2013-10-16 17:39 老蒋 阅读(349) | 评论 (1)编辑 收藏

C#でExcelファイルをPDFに変換するサンプル

namespace XXXX
{
    /// <summary>
    /// Excelファイルを保存する機能を提供します。
    /// </summary>
    public static class ExcelToPdf
    {
        /// <summary>
        /// ExcelファイルをPDFとして保存します。
        /// </summary>
        /// <param name="excelFilePathName">Excelファイルのパス付きファイル名。</param>
        /// <param name="saveAsPathName">保存するPDFのパス付きファイル名。</param>
        /// <remarks>
        /// <para>
        /// Excel 2007がインストールされている必要があります。
        /// </para>
        /// <para>
        /// Office 2007のSP2、またはPDF保存アドインがインストールされている必要があります。</ br>
        /// http://support.microsoft.com/kb/953195/ja</ br>
        /// http://www.microsoft.com/downloads/ja-jp/details.aspx?FamilyId=F1FC413C-6D89-4F15-991B-63B07BA5F2E5&displaylang=ja
        /// </para>
        /// </remarks>
        public static void SaveAsPdf(string excelFilePathName, string saveAsPathName)
        {
            Application application = null;
            Workbooks workbooks = null;
            Workbook workbook = null;

            try
            {
                application = new Application();

                /*
                 * application.Workbooks.Open(...は、Workbooksオブジェクトの解放処理ができないので不可。
                 * 必ず変数経由でComRelease.FinalReleaseComObjectsを呼び出すこと。
                 */
                workbooks = application.Workbooks;

                workbook = workbooks.Open(
                    excelFilePathName, Type.Missing, Type.Missing, Type.Missing, Type.Missing
                    , Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing
                    , Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing);

                // http://msdn.microsoft.com/ja-jp/library/microsoft.office.tools.excel.workbook.exportasfixedformat(v=vs.90).aspx
                workbook.ExportAsFixedFormat(
                    XlFixedFormatType.xlTypePDF,
                    saveAsPathName,
                    XlFixedFormatQuality.xlQualityStandard,
                    true,
                    true,
                    Type.Missing,
                    Type.Missing,
                    false,
                    Type.Missing);
            }
            finally
            {
                if (workbook != null)
                {
                    try
                    {
                        workbook.Close(true, Type.Missing, Type.Missing);
                    }
                    catch
                    {
                    }
                }

                if (application != null)
                {
                    try
                    {
                        application.Quit();
                    }
                    catch
                    {
                    }
                }

                ComRelease.FinalReleaseComObjects(workbook, workbooks, application);
            }
        }
    }

    /// <summary>
    /// COMオブジェクトを解放する機能を提供します。
    /// </summary>
    public static class ComRelease
    {
        /// <summary>
        /// 複数のCOMオブジェクトの参照カウントを0までデクリメントし、解放します。
        /// </summary>
        /// <param name="objects">解放するCOMオブジェクトの配列。</param>
        /// <remarks>解放は配列の要素順に行います。</remarks>
        public static void FinalReleaseComObjects(params object[] objects)
        {
            foreach (object o in objects)
            {
                try
                {
                    if (o == null)
                        continue;
                    if (Marshal.IsComObject(o) == false)
                        continue;
                    Marshal.FinalReleaseComObject(o);
                }
                catch (Exception)
                {
                }
            }
        }
    }

}

  private void button13_Click(object sender, EventArgs e)
        {
            const string Dir = @"C:\";
            ExcelToPdf.SaveAsPdf(Path.Combine(Dir, "20121219163550.xlsx"), Path.Combine(Dir, "20121219163550.pdf"));

        }




posted @ 2013-02-05 08:11 老蒋 阅读(2890) | 评论 (0)编辑 收藏

JsからWebMethod呼出

XXX.master
telerik:RadScriptManager ID="RadScriptManager1" runat="server" EnablePageMethods="True"
        ScriptMode="Debug" EnableScriptCombine="False">

XXX.aspx

    <telerik:RadCodeBlock ID="RadCodeBlock" runat="server">
        <script type="text/javascript">

            function nextButtonMouseOver(sender, args) {

                var index = $get("<%= CurrentIndex.ClientID %>").value;
                PageMethods.GetNextOrPrevious(true, index, onSuccess)
            }

        </script>
    </telerik:RadCodeBlock>


XXX.cs

[WebMethod]
        public static string GetNextOrPrevious(Boolean isNext, int index)
        {
        }

posted @ 2013-01-25 16:14 老蒋 阅读(175) | 评论 (0)编辑 收藏

Asp.net(c#)实现多线程断点续传


http://blog.csdn.net/laolaowhn/article/details/1821886

Asp.net(c#)实现多线程断点续传       

        分类:            0.asp.net文件上传下载540人阅读评论(0)收藏举报
Asp.net(c#)实现多线程断点续传 

  CSDN Blog推出文章指数概念,文章指数是对Blog文章综合评分后推算出的,综合评分项分别是该文章的点击量,回复次数,被网摘收录数量,文章长度和文章类型;满分100,每月更新一次。

http://www.cnblogs.com/bestcomy/archive/2004/08/10/31950.html

以前一直错误的认为在ASP.NET中无法通过编程方式实现多线程断点续传,今天终于获得了这样一个解决方案,让我明白要学习的东西还很多
此解决方案基于其它解决方案及相关资料,根据我自己的理解改进.如有错漏,请尽管指出;如有其它更好的解决方案,请推荐一下,感谢先。

System.IO.Stream iStream = null;

           
// Buffer to read 10K bytes in chunk:
            byte[] buffer = new Byte[10240];

           
// Length of the file:
            int length;

           
// Total bytes to read:
            long dataToRead;

           
// Identify the file to download including its path.
            string filepath  = @"E:/software/SQL Server 2000 Personal Edition.ISO";

           
// Identify the file name.
            string  filename  = System.IO.Path.GetFileName(filepath);

           
try
           
{
               
// Open the file.
                iStream = new System.IO.FileStream(filepath, System.IO.FileMode.Open,
                    System.IO.FileAccess.Read,System.IO.FileShare.Read);
                Response.Clear();

               
// Total bytes to read:
                dataToRead = iStream.Length;

               
long p = 0;
               
if(Request.Headers["Range"]!=null)
               
{
                    Response.StatusCode
= 206;
                    p
= long.Parse( Request.Headers["Range"].Replace("bytes=","").Replace("-",""));
                }

               
if(p != 0)
               
{
                    Response.AddHeader(
"Content-Range","bytes " + p.ToString() + "-" + ((long)(dataToRead - 1)).ToString() + "/" + dataToRead.ToString());                   
                }

                Response.AddHeader(
"Content-Length",((long)(dataToRead-p)).ToString());
                Response.ContentType
= "application/octet-stream";
                Response.AddHeader(
"Content-Disposition", "attachment; filename=" + System.Web.HttpUtility.UrlEncode(Request.ContentEncoding.GetBytes(filename)));

                iStream.Position
= p;
                dataToRead
= dataToRead - p;
               
// Read the bytes.
                while (dataToRead > 0)
               
{
                   
// Verify that the client is connected.
                    if (Response.IsClientConnected)
                   
{
                       
// Read the data in buffer.
                        length = iStream.Read(buffer, 0, 10240);

                       
// Write the data to the current output stream.
                        Response.OutputStream.Write(buffer, 0, length);

                       
// Flush the data to the HTML output.
                        Response.Flush();

                        buffer
= new Byte[10240];
                        dataToRead
= dataToRead - length;
                    }

                   
else
                   
{
                       
//prevent infinite loop if user disconnects
                        dataToRead = -1;
                    }

                }

            }

           
catch (Exception ex)
           
{
               
// Trap the error, if any.
                Response.Write("Error : " + ex.Message);
            }

           
finally
           
{
               
if (iStream != null)
               
{
                   
//Close the file.
                    iStream.Close();
                }
                   Response.End();
            }

posted @ 2013-01-25 14:19 老蒋 阅读(191) | 评论 (0)编辑 收藏

ViewState と Session の使い分け

 


ここでは、 ViewState と Session を比較し、基本的な使い分け方について説明します。


ViewState は、以下の条件にマッチする場合に使用します。



  • 画面内だけで利用するデータ
  • 容量が小さいデータ
  • セキュリティが必要ないデータ

Session は、以下の条件にマッチする場合に使用します。



  • 画面間で受け渡すデータ
  • セキュリティが必要なデータ

posted @ 2013-01-25 14:18 老蒋 阅读(186) | 评论 (0)编辑 收藏

导航

统计

常用链接

留言簿

随笔档案

搜索

最新评论

阅读排行榜

评论排行榜