我的应用附带的文本文件有一个奇怪的问题.
该文件包含一堆站点,当程序启动时,它将站点加载到一个数组中.
在Windows 7上,当我启动应用程序时,我没有收到任何错误.然而,在XP上我得到了c:\Document and setting\I\Application Data\fourmlinks.txt file not found.
奇怪的部分是我制作了一个带有内容的文本文件,我把它放在应用程序文件夹中.
这是我在我的代码中调用的方式:
string path = Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) + "\\fourmlinks.txt";
Run Code Online (Sandbox Code Playgroud)
我的问题是我无法创建新文件,因为它正在保存应用程序需要和正在使用的基本数据.
首次启动后,用户可以根据需要编辑文件.
我不确定为什么会这样,但这只发生在Windows XP上.
我怎么解决这个问题?
keyboardP建议检查我正在运行的窗口,然后通过它更改路径.所以我想出了这段代码:
System.OperatingSystem osInfo = System.Environment.OSVersion;
if (osInfo.Platform == PlatformID.Win32NT)
path = Environment.SpecialFolder.LocalApplicationData + "\\fourmlinks.txt";
else
path = Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) + "\\fourmlinks.txt";
Run Code Online (Sandbox Code Playgroud)
甚至在Windows 7上我得到的问题,当我需要弄错.有没有办法确保我在XP或Windows 7上以不同的方式运行?
使用操作系统的检查,我现在可以确定我是Windows 7或Windows XP.因此,代码运行在Windows 7上再次查找,但在Windows XP上,我收到一条不同的错误消息:

我真的不知道我在程序中添加的路径如何成为错误说我要求的路径.
我正在尝试ComboBox用另一个类中的数组的 PART填充 a 。我必须制作一个应用程序来创建客户、库存和订单。在订单表单上,我试图分别从客户和库存类中的数组中提取客户 ID 和库存 ID 信息。数组中有多种类型的信息:客户 ID、姓名、地址、状态、邮编等;库存 ID、名称、折扣值和价格。
这是我的阵列设置如下:
public static Customer[] myCustArray = new Customer[100];
public string customerID;
public string customerName;
public string customerAddress;
public string customerState;
public int customerZip;
public int customerAge;
public int totalOrdered;
Run Code Online (Sandbox Code Playgroud)
这就是我的组合框的设置方式:
public void custIDComboBox_SelectedIndexChanged(object sender, EventArgs e)
{
custIDComboBox.Items.AddRange(Customer.myCustArray);
custIDComboBox.DataSource = Customer.getAllCustomers();
}
Run Code Online (Sandbox Code Playgroud) 我有一个WPF C#应用程序(.NET 4.0),我有一个日期选择器.我想知道是否可以将格式日期(日期选择器的文本属性)更改为yyyy/MM/dd格式.
我正在使用MVVM模式,所以我想知道XAML代码,如果可以在这个地方做到这一点.
在Windows Phone上,我可以WebException使用StatusCode == HttpStatusCode.NotFoundif
在Windows Phone上WebException的状态适用WebExceptionStatus.UnknownError于这两种情况.
如何1从案例中判断案件2?
我观察到的是连接错误(找不到服务器)ResponseUri为空并且WebResponse标题包含0项目.
编辑
ResponseUri不是空的,而是OriginalString空的
这样做是否安全:
catch (WebException ex)
{
switch (ex.Response.StatusCode)
{
...
case HttpStatusCode.NotFound:
if (ex.Response.ResponseUri == null
|| string.IsNullOrEmpty(httpWebResponse.ResponseUri.OriginalString))
DoServerNotFound();
else
DoServerReturned404();
Run Code Online (Sandbox Code Playgroud) 我有一个PDF,主题是http://test.com/mypdf.pdf.
如何将PDF转换为Stream然后使用此Stream转换回PDF.
我尝试了以下但有例外(见图):
private static Stream ConvertToStream(string fileUrl)
{
HttpWebResponse aResponse = null;
try
{
HttpWebRequest aRequest = (HttpWebRequest)WebRequest.Create(fileUrl);
aResponse = (HttpWebResponse)aRequest.GetResponse();
}
catch (Exception ex)
{
}
return aResponse.GetResponseStream();
}
Run Code Online (Sandbox Code Playgroud)

如果我的服务器在路由器后面,如何获取用户的公共 IP?
我想:
protected string GetIPAddress()
{
System.Web.HttpContext context = System.Web.HttpContext.Current;
string ipAddress = context.Request.ServerVariables["HTTP_X_FORWARDED_FOR"];
if (!string.IsNullOrEmpty(ipAddress))
{
string[] addresses = ipAddress.Split(',');
if (addresses.Length != 0)
{
return addresses[0];
}
}
return context.Request.ServerVariables["REMOTE_ADDR"];
}
Run Code Online (Sandbox Code Playgroud)
但我得到的只是路由器网关。
显然,REMOTE_ADDR在我的情况下不起作用,也不会HTTP_X_FORWARDED_FOR。
关于如何在我的情况下获取用户的公共 IP 的任何想法?
谢谢。
谷歌搜索,但我不知道如何创建一个注册表项本身,而不是所有教程中看到的子项字符串值.注册表就像一棵树枝和树叶,我想创建一个新的分支并添加一个叶子
|tree
|-branch
| |-my branch
|-branch
Run Code Online (Sandbox Code Playgroud)
谢谢你的帮助
更多信息让我更清楚,因为我被指向我不需要的东西;)
你单击其中一个注册表项,旁边是一个向下的箭头,你点击它,你得到更多的键可能与另一个箭头指向下更多的ketys,这就是我正在尝试创建一个"文件夹"看起来事情.我不确定我能解释多少但CreateSubKey对我没有这样的事情:
Key = Registry.CurrentUser.CreateSubKey("SOFTWARE\Microsof\game\addons\myaddons");
Run Code Online (Sandbox Code Playgroud)
现在,当我检查它时,没有名称的文件夹式图标 myaddons
有人知道是否可以使用 C# 将 a 转换Bitmap为WebP图像吗?
一直在 Google 搜索,但找不到任何有关 C# 的信息。我发现了这个:\n mc-kay/libwebp-sharp \xc2\xb7 GitHub但它似乎没有将位图转换为WebP格式。
有任何想法吗?
\n我相信mvc mini profiler会将所有响应时间存储在HttpRuntime缓存中.
如果我错了请告诉我,但如果是这样的话,那么这个缓存的最大限制是多少?在缓存已满之前,它可以分析多少个操作?我们使用迷你探查器来分析测试套件的操作,测试套件会随着时间的推移而增长,所以我很担心这个问题.我应该担心吗?
在相关的说明.当所有测试都被分析后,我只需在迷你探查器的类中调用该Save方法SqlServerStorage.并且所有响应时间都保存到SQL Server数据库中.有没有什么方法可以Save更频繁地调用该方法而无需一次又一次地启动和停止探查器?我们只是在测试套件的开头启动它,并在所有测试都被分析后结束它.我们将该MiniProfilers表的一个条目视为一个分析会话.现在我不能多次调用'Save'方法,因为MiniProfilerId每次调用它都需要一个新的方法.
有什么建议?
我正在尝试转换
PCM S16 LE (araw)
Mono, Sample rate 22050, Bit pr. sample 16
Run Code Online (Sandbox Code Playgroud)
到
PCM mulaw (PCM MU-LAW)
Mono, Sample rate 8000hz, Bit pr. sample is 8.
Run Code Online (Sandbox Code Playgroud)
WaveFormat.CreateMuLawFormat(8000,1)或者甚至是更通用的WaveFormat.CreateCustomFormat,我指定WaveFormatEncoding与源流相同的内容会抛出相同的异常。
AcmNotPossible calling acmStreamOpen
Run Code Online (Sandbox Code Playgroud)
我在这里错过了什么吗?
任何线索将不胜感激。