我试过了
Uri uri = HttpContext.Current.Request.Url;
String host = uri.Scheme + Uri.SchemeDelimiter + uri.Host + ":" + uri.Port;
Run Code Online (Sandbox Code Playgroud)
它在我的本地机器上运行良好,但在发布到IIS7时,有一个例外
System.Web.HttpException: Request is not available in this context
Run Code Online (Sandbox Code Playgroud)
谁知道如何实现这一目标?
我想知道运行我的Web服务/应用程序的帐户,以便我可以为该帐户分配读/写访问权限.我已经研究过并且看到大多数消息来源提到ASPNET帐户,但在我的2008服务器上,没有任何名为ASPNET的帐户.有些消息称,ASPNET正在被NETWORK SERVICE取代?
另外,我可以分配给另一个用户帐户来运行该服务吗?怎么做?
谢谢,
我已经研究了一些关于如何实现我在问题中所说的内容并发现了几个API,但大多数API看起来非常复杂,因为我只是在这方面的一个noobie我只想要一个简单的方法,如:
public String Encrypt(String message, PublicKey publicKey)
Run Code Online (Sandbox Code Playgroud)
不知道是否可以这样做?如果没有那么请有人开导我另一种方式来实现这个:)
谢谢.
更新:
到目前为止,我只看到OpenPGP加密的所有库都需要公钥和私钥才能进行加密,而我只想用公钥加密(因为我没有私钥来使用它) !
我不知道为什么在将代码部署到IIS7时Response.Redirect无法正常工作?始终显示白色/黄色错误页面而不是我的Errors.aspx.但是当在我的计算机上使用Visual Studio运行调试时,它运行得很好吗?
protected void Application_Error(object sender, EventArgs e)
{
ILog log = LogManager.GetLogger(typeof(Global).Name);
Exception objErr = Server.GetLastError().GetBaseException();
log.Error(objErr);
string err = "Error Caught in Application_Error event\n" +
"\nError Message:" + objErr.Message.ToString() +
"\nStack Trace:" + objErr.StackTrace.ToString();
EventLog.WriteEntry("Kiosk", err, EventLogEntryType.Error);
Server.ClearError();
Response.Redirect("~/Error.aspx", false);
}
Run Code Online (Sandbox Code Playgroud) 我正在关注此链接的教程http://www.codeproject.com/KB/aspnet/ASPNETService.aspx
现在我坚持这些代码
private const string DummyPageUrl =
"http://localhost/TestCacheTimeout/WebForm1.aspx";
private void HitPage()
{
WebClient client = new WebClient();
client.DownloadData(DummyPageUrl);
}
Run Code Online (Sandbox Code Playgroud)
我的本地应用程序地址在"localhost"之后有一个端口号,那么如何获取完整路径(可以在Application_Start方法中完成)?我希望它非常通用,以便它可以在任何情况下工作.
非常感谢!
UPDATE
我在Application_Start中尝试了这个并运行正常,但在发布到IIS7时立即返回错误
String path = HttpContext.Current.Request.Url.GetLeftPart(UriPartial.Authority) + VirtualPathUtility.ToAbsolute("~/");
Run Code Online (Sandbox Code Playgroud) 目前我正在编写一种从 CSV 文件读取数据并导入到 SQL 表的方法。
DataTable dt = new DataTable();
String line = null;
int i = 0;
while ((line = reader.ReadLine()) != null)
{
String[] data = line.Split(',');
if (data.Length > 0)
{
if (i == 0)
{
foreach (object item in data)
{
DataColumn c = new DataColumn(Convert.ToString(item));
if (Convert.ToString(item).Contains("DATE"))
{
c.DataType = System.Type.GetType("System.DateTime");
}
else { c.DataType = System.Type.GetType("System.String"); }
dt.Columns.Add(c);
}
i++;
}
else
{
DataRow row = dt.NewRow();
for (int j = 0; j < …Run Code Online (Sandbox Code Playgroud) 我有一些需要在 Application_Start 中运行的预定作业,但据我所知,此方法仅在第一个请求后触发。在 IIS 中停止并启动连接或停止/启动/重新启动站点后,我是否可以自动启动应用程序?
我的Web应用程序有一个连续运行的服务来向ftp服务器发送报告,该文件需要使用公钥加密.因此我的问题是我应该在哪里存储公钥?我只有一个公钥,所以使用高级密钥库似乎有点矫枉过正?
我应该只是在服务器上手动创建一个文件夹并将其存储在那里吗?
asp.net ×5
c# ×5
iis ×2
public-key ×2
url ×2
csv ×1
encryption ×1
hostname ×1
keystore ×1
localhost ×1
path ×1
pgp ×1
redirect ×1
request ×1
security ×1
sql ×1
sqlbulkcopy ×1
storage ×1
web-services ×1