2012年4月30日 星期一

HWIT-NetworkCredential basicCredential


1. 在HWIT以SmtpClient發送內部郵件OK,外送郵件需驗證      
        public static void SendMail(string 人, string 信)
        {
            //------- 認證
            SmtpClient smtpClient = new SmtpClient();
            MailAddress from = new MailAddress("csjou@mail.hwc.edu.tw");
            smtpClient.Host = "mail.hwc.edu.tw";
            //NetworkCredential basicCredential =
            //    new NetworkCredential("csjou", "xxxxxxxx");
            //smtpClient.UseDefaultCredentials = false;
            //smtpClient.Credentials = basicCredential;
            // Set destinations for the e-mail message.
            MailAddress to = new MailAddress(人);
            // Specify the message content.
            MailMessage message = new MailMessage(from, to);
            message.Body = 信;
            // Include some non-ASCII characters in body and subject.
            string someArrows = new string(new char[] { '\u2190', '\u2191', '\u2192', '\u2193' });
            message.Body += Environment.NewLine + someArrows;
            message.BodyEncoding = System.Text.Encoding.UTF8;
            message.Subject = "test message 1" + someArrows;
            message.SubjectEncoding = System.Text.Encoding.UTF8;
            //string 附檔 = @"C:\Users\Public\Pictures\Sample Pictures\Desert.jpg";
            //Attachment 附件 = new Attachment(附檔);
            //message.Attachments.Add(附件);
            smtpClient.Send(message);
            Console.WriteLine("Sending message... press c to cancel mail. Press any other key to exit.");
            string answer = Console.ReadLine();
            // If the user canceled the send, and mail hasn't been sent yet,
            // then cancel the pending operation.
            if (answer.StartsWith("c") && mailSent == false)
            {
                smtpClient.SendAsyncCancel();
            }
            // Clean up.
            message.Dispose();
            Console.WriteLine("Goodbye.");
        }
2.
3. 解除紅字註解(加入個人帳號、密碼驗證),可以寄出外送郵件

2012年4月18日 星期三

SCVMM 自助使用者建置程序

自助使用者為網域使用者,在VMM中建置自助使用者角色,將此角色權限授於網域群組,將VM等權限設完後。
1. AD 建自助使用者群組


2. VMM 建立VMM新角色
2-1 加入自助使用者角色



2-2 依序依據加入角色設定權限,設定使用實體機範圍、建立、使用虛擬機權限等。
3. 建立AD使用者,納為自助使用者群組




SCVMM自助使用者網站無法登入

轉了一圈,原來是SQL Server 未啟動。
1.  自助使用者網站無法登入(Login 後沒反應)
2.  啟動 SCVMM 檢查,無法登入
3. 改用Administrator role 啟動
4. 學生說SQL未啟動
4-1 SQL Server 無法登入 (Shutdown 後未啟動)
4-2 啟動 SQL Server Agent 並改為自動登入(本系統設定為omadmin)
5. 看來正常



2012年4月8日 星期日

Error 1068: Remote Access Connection Manager service

1. 遠端桌面無法啟用
2. 啟用 Access Connection Manager,由內容選項,先啟用相依服務。
3. 啟用 Terminal Services, Terminal Services Configuration, Terminal Service UserMode Port Redirector.


2012年4月6日 星期五

PDFBox-2

1. Ref: http://naspinski.net/post/ParsingReading-a-PDF-file-with-C-and-AspNet-to-text.aspx
2. Add Ref
// PDFBox/bin:
//2-1 FontBox-0.1.0-dev.dll
//2-2 IKVM.GNU.Classpath.dll
//2-3 IKVM.Runtime.dll
//2-4 PDFBox-0.7.3.dll
// 3. using
using org.pdfbox.pdmodel;
using org.pdfbox.util;
// 4
using System.IO;
// 5 Add parsePDF method

public static void parsePDF(string pdf_in, string txt_out)
        {
            StreamWriter sw = new StreamWriter(txt_out, false);
            try
            {
                sw.WriteLine();
                sw.WriteLine(DateTime.Now.ToString());
                PDDocument doc = PDDocument.load(pdf_in);
                PDFTextStripper stripper = new PDFTextStripper();
                sw.Write(stripper.getText(doc));
            }
            catch (Exception ex) { Console.Write(ex.Message); }
            finally
            {
                sw.Close();
                sw.Dispose();
            }
        }
// 6. Console mode project

      static void Main(string[] args)
        {
            string pdf_in = @"E:\Working\PDF2Text\TryExe\101050_1401.PDF";
            string txt_out = "Test.txt";
            parsePDF(pdf_in, txt_out);
            Console.WriteLine("Done!");
        }


PDFBox-1

Ref: http://naspinski.net/post/ParsingReading-a-PDF-file-with-C-and-AspNet-to-text.aspx
1. Download http://sourceforge.net/projects/pdfbox/
2. Unzip PDFBox-0.7.3.zip
3. bin/ExtractText.exe
4. 未設定編碼




5. ExtractText -encoding UTF-8 xxx.PDF ooo.txt

Helix 3D Toolkit--2

1. WPF 專案
2. 確認已安裝NuGet Package

3.參考處加入 Helix Toolkit
4. xaml 檔 加入ns
<Window x:Class="AInstallEx1.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        xmlns:helix="clr-namespace:HelixToolkit.Wpf;assembly=HelixToolkit.Wpf" 
        Title="MainWindow" Height="350" Width="525">
    <Grid>
        <Grid>
            <helix:HelixViewport3D x:Name="view1" Background="DarkGreen" IsHeadLightEnabled="True">
                <!--<helix:DefaultLightsVisual3D/>-->
            </helix:HelixViewport3D>
        </Grid>
    </Grid>
</Window>
5. C# 加入
using HelixToolkit.Wpf;
using System.Windows.Media.Media3D;

namespace AInstallEx1
{
    /// <summary>
    /// MainWindow.xaml 的互動邏輯
    /// </summary>
    public partial class MainWindow : Window
    {
        public MainWindow()
        {
            InitializeComponent();
            MeshBuilder mb = new MeshBuilder();
            mb.AddBox(new Point3D(0, 0, 0), 2, 2, 2);
            view1.Children.Add(
            new ModelVisual3D { Content = new GeometryModel3D { Geometry =  mb.ToMesh(), Material = Materials.White } }
            );
        }
    }
}
6. Done!






Helix 3D Toolkit -- 1

Ref: http://helixtoolkit.codeplex.com/
有許多WPF 3D範例,值得認真讀一讀。
需要 nunit.framework.dll 可由此下載
http://www.nunit.org/index.php?p=samples&r=2.6