好球員,我解決了這個問題,我只是想發佈最終結果,以防萬一需要它,這是最終的代碼,我créate一個目錄,或驗證,如果它已經存在,然後créate一個XML任何tib的obj ECT是進入或退出一個Web服務的,所以這是庫:
public class xmlLog
{
public int verifyDir(string dir)
{
bool tryDir;
tryDir = Directory.Exists(dir);
if (tryDir == false)
{
return 0;
}
else
{
return 1;
}
}
public string[] createDir(string flow, int enclosure, string transaction, string method)
{
DateTime Hoy = DateTime.Now;
libs.Catalogos objCatalogos = new libs.Catalogos();
string day, month, year, hora, min, seg, time, ruta, fileName, name;
string[] datos = new string[2];
int existe;
name = objCatalogos.convertRecinto(enclosure);
day = System.DateTime.Now.ToString("dd");
month = System.DateTime.Now.ToString("MM");
year = System.DateTime.Now.ToString("yyyy");
hora = System.DateTime.Now.ToString("HH");
min = System.DateTime.Now.ToString("mm");
seg = System.DateTime.Now.ToString("ss");
time = hora + "_" + min + "_" + seg;
ruta = @"C:\inetpub\wwwroot\WsDesarrollo\" + @"XML" + @"\Empresa_" + name + @"\Flujo_" + flow + @"\Año_" + year + @"\Mes_" + month + @"\Dia_" + day + @"\";
existe = verifyDir(ruta);
if (existe == 0)
{
Directory.CreateDirectory(ruta);
}
fileName = "" + ruta + transaction + "_" + method + "_" + time;
datos[0] = ruta;
datos[1] = fileName;
return datos;
}
public void createXML<T>(string route, string fileName, T objeto)
{
string file = Path.Combine(route, fileName + ".xml");
System.Xml.Serialization.XmlSerializer slzr = new System.Xml.Serialization.XmlSerializer(typeof(T));
TextWriter tw = new StreamWriter(file);
slzr.Serialize(tw, objeto);
}
}
在這一切混亂的最後,我成功地創建一個新的目錄和每一個我需要時間創建只有2行代碼的XML他們至極是以下物質:
string[] = objXML.createDir("IN", Convert.ToInt32(recinto), M903In.transaccionAduana, "903");
objXML.createXML(paramXML[0], paramXML[1], M903In);
我知道大家這不會工作,但是這是我設法與合作,creade dinamy路線和文件名對web服務的XML文檔的方式。
希望這可以幫助別人:3
它的工作,但現在不同problema進出口運行,似乎FILESTREAM不會接受...任何意見狂勝IM放置在這個問題上?? ... BTW非常感謝答案:) –
沒問題。路線絕對是正確的格式? '@「」'看起來很奇怪,也許應該是'「@」',或者完全刪除?此外,如果您在路由字符串中使用反斜槓,請檢查它們是否正確轉義(在URL中使用\\,而不是\)。 也可能你需要在'route'和'fileName'之間加一個額外的正斜槓'/',但我不知道如何設置它們。也許這些東西中的一個會起作用。希望這可以幫助。 –
如果我使用反斜槓而不是normalone,它將其標記爲語法錯誤,並且im suppssed放置路由的方式就像這樣@「route/file.xml」...所以我嘗試將路由放到剛剛創建的路由中並把它放在文件名前面加上+這樣的句子@「」+ route +「/」+ filename +「.XML」...這個im試圖在每次使用我的WebService時都得到一個XML文件...試圖讓它變得充滿活力,我只是一直在繼續處理問題,一個接一個......好的是,像你這樣的人一直在幫助我,最後終於週末哈哈......不斷努力解決它。問候。 –